私はアーチLinux sudo
(OSに付属のデフォルトバージョン)で1.8.24を使用していますが、コマンドが機能しているかどうかをリストするためにパスワードを要求する問題があります。これは私の/etc/sudoers
ファイルです:
Defaults rootpw
Defaults listpw=never
%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: /bin/false ""
listpw=never
私のホイールグループのドキュメントを見ると、実行時にパスワードを入力するように求められず、sudo -l
とにかくパスワードが必要ない場合は、デフォルトはパスワードを許可する必要があることを信じています/bin/false
。
残念ながら実行すると、sudo -l /bin/false
私のパスワードを入力するように求められます。sudo /bin/false
パスワードは必要ありません。sudo
他のすべてのエントリではルートパスワードの入力を求められますが、すべてのエントリではsudo -l
自分のパスワードの入力を求められます。ルートとして何かを実行するためにすでにルートパスワードを入力している場合、これは特に迷惑です。これは、実行中に2秒後もパスワードを入力する必要があるためですsudo -l
。 (これは実行前に権限があることを確認するスクリプトでよく使用されるパターンで、パスワードを求めずに成功したにもかかわらずパスワードを求めるメッセージがsudo
表示されます。)sudo
修正する
を実行すると、sudo -l
パスワードを入力するように求められ、sudoは以下を印刷します。
Matching Defaults entries for user on machine:
rootpw, listpw=never, timestamp_timeout=60, env_keep+=HOME
User user may run the following commands on machine:
(ALL) ALL
(ALL) NOPASSWD: /bin/false
そして私はsudo 1.8.25にアップグレードしましたが、それでも問題が表示され、基本的に放棄し、sudoのバグであると結論付けました。
答え1
FWIW 1.8.27でもこれを再現できますが、1.8.28で修正
listpw=never
このエントリを削除すると、回線でALL ALL=(ALL) NOPASSWD: /usr/bin/false
承認ルールが実行され、sudo -l
パスワードの入力を求められません。