sudo "このイベントが報告されます"メッセージをカスタマイズできますか?

sudo "このイベントが報告されます"メッセージをカスタマイズできますか?

LinuxまたはBSDシステムでsudo「このイベントが報告されます」メッセージをカスタマイズできますか?man sudoUbuntu man sudoers16.04システム、FreeBSD 10.2システム、Fedora 23システムを調べましたが、役に立つものが見つかりませんでした。

答え1

~からSudor マニュアル以下は、sudo confを使用して設定できる唯一のメッセージです。

badpass_message="Sorry, try again."

しかし、あなたの質問に答えるためにあなた自身のsudoのコピーをコンパイルすることは歓迎されています。

これあなたが受け取るメッセージになります。

答え2

sudoこのメッセージは、GNU / Linuxの多くの部分ですでに国際化されて使用されているという点ですでにカスタマイズ可能です。gettext 母国語サポートほとんどの文字列を見つけて、それを他の言語のロケールバージョンに置き換えます。

たとえば、フランス語のファイルを表示できます。ここその中に項目があります:

msgid "%s is not in the sudoers file.  This incident will be reported.\n"
msgstr "%s n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.\n"

msgid "%s is not allowed to run sudo on %s.  This incident will be reported.\n"
msgstr "%s n'est pas autorisé à exécuter sudo sur %s. Cet événement sera signalé.\n"

したがって、指定する必要があるメッセージを変更するにはどの言語/ロケールですか?適切な NLS ファイルを編集します。ただし、ユーザーがロケールを使用しない可能性があるため、何の効果もありません。


/usr/libexec/sudo/sudoers.soあるいは、バイナリエディタを使用して文字列項目を置き換えることもできます。正確にサイズとパラメータの数は同じです%s。これはgettext翻訳と一致しなくなり、すべてのロケールで機能します。例えば

sed < /usr/libexec/sudo/sudoers.so 's/This incident will be reported/This incident WILL BE REPORTED/' >/tmp/sudoers.so
cmp -l /usr/libexec/sudo/sudoers.so /tmp/sudoers.so

cmpファイルが破損していないことを確認するために使用されます。

関連情報