web-dev-qa-db-ja.com

Sudoパスワードの入力を求めるメッセージを表示します

UbuntuユーザーがターミナルでSudoコマンドを使用するのを見たことがあります。パスワードの入力を求められる前に、次のメッセージが表示されました。

user1@linuxbox:~$ Sudo apt-get update
Please do not run this command if you have not been granted Sudo rights.
[Sudo] password for user1:

ユーザーがSudoコマンドを実行すると、システムに同様のメッセージが表示されます。ユーザーが端末でSudoコマンドを実行するときに、同様のメッセージを表示するには、何を編集/変更する必要がありますか?

4
John Smith

Sudoがlecture_fileオプションをサポートしているかどうかを確認します

man sudoers | grep lecture_file

私の場合、これは男のsudoersが言うことです:

cture_file指定されたファイルが存在する場合に標準講義の代わりに使用される代替のSudo講義を含むファイルへのパス。デフォルトでは、Sudoは組み込みの講義を使用します。

したがって、テキストを変更するには、/etc/sudoers.lectureなどのファイルに追加し、/etc/sudoersからポイントします。

Defaults        lecture_file = /etc/sudoers.lecture

Sudoのすべての呼び出しに関する講義を表示するには、以下を/etc/sudoersに追加します。

Defaults        lecture = always
10
storm

Sudoコマンドの周りに「ラッパースクリプト」を記述します。

基本的に、標準のSudoコマンドを、Sudo()という関数を含むスクリプトに置き換えます。この関数は最初にカスタムメッセージをエコーし​​、次に標準のSudoコマンド/usr/bin/Sudoを呼び出します。

このスクリプトは次のようになります。

#!/bin/bash
Sudo(){
        echo "This is a custom message."
        /usr/bin/Sudo "$@"
}

スクリプトがユーザーのパスにあることを確認する必要があります。 ここ (「Putting it all together」の下)は、これを行う方法の良い説明です。他の例については、Googleの「ラッパースクリプト」。

2
Jos