%20%E3%82%92%E6%9C%89%E5%8A%B9%E3%81%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%82%92%E6%95%99%E3%81%88%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82.png)
sudo
すべてのユーザーがパスワードを入力せずに自分の権限を表示できるようにしたいです。
ALL ALL=(ALL) NOPASSWD: /usr/bin/sudo -l
を追加せずにこれを許可する方法はありますか/etc/sudoers
?
bob@cad50ee0931e:/$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for bob:
答え1
sudoers
ファイル(man sudoers
)のドキュメントには、次のような提案があります。
デフォルトでは、
sudo
コマンドを実行する前にユーザーが認証する必要があります。[...]NOPASSWD
タグが適用されている場合どれでもsudo -l
現在のホスト上のユーザーのエントリの 1 つ以上がパスワードなしで実行可能になります。この動作は [...]listpw
オプションで上書きできます。
そして
listpw
このオプションは、ユーザーがオプションsudo
を使用して実行するときにパスワードが要求されるタイミングを制御します-l
。次の値が可能です。
all
sudoers
-現在のホストのすべてのユーザーのエントリにNOPASSWD
、パスワードの入力を避けるためにフラグを設定する必要があります。always
- ユーザーは、このオプションを使用するために常にパスワードを入力する必要があります-l
。any
-パスワードを入力しないようにするには、sudoers
現在のホストのユーザーエントリの少なくとも 1 つにフラグを設定する必要があります。NOPASSWD
never
- ユーザーはこのオプションを使用するためにパスワードを入力する必要はありません-l
。
を回避したい場合はNOPASSWD
、次のように設定しますlistpw=never
。
Defaults listpw=never
を使用してファイルvisudo
を編集および確認しますsudoers
(ヒント: vi`を編集するEDITOR=nano visudo
場合は を使用します)。さらに良いのは、テスト中に別のルート シェルを開いたままにして、アクセスを失わないようにすることです。nano
sudoers file instead of
残念ながら、バグsudo
、これは1.8.28で修正されましたは、listpw=never
設定を無視することができます。このシナリオでは、してはならないを使用しますlistpw=never
が、代わりに次のような意味のないエントリを作成します。
ALL ALL=(ALL) NOPASSWD: /bin/false
最終的な結果はsudo -l
、どのエントリーにもNOPASSWD
ルールに従えば要件は達成されます。