sudo設定にPASSWDエントリがないユーザーが毎回認証する必要があるのはなぜですか?

sudo設定にPASSWDエントリがないユーザーが毎回認証する必要があるのはなぜですか?

sudo2人のユーザーの設定を検討してください。

mary ALL = (ALL) NOPASSWD: /bin/ls, /bin/cat
bob ALL = (ALL) PASSWD: /bin/sort

これで、ユーザーがmaryリストにないコマンドを実行するたびに認証を受ける必要があります。

$ sudo sort
[sudo] password for mary: 
Sorry, user mary is not allowed to execute '/bin/sort' as root on eagle.

mary許可されていない他のコマンドを試みると、パスワードを入力するように求められます。ただし、この場合はそうではなく、タイムアウトbobするまで一度だけ要求されます。mary最近パスワードを正確に提供できるようになりましたが、なぜ引き続き認証する必要がありますか?

私は少なくとも1つを見つけましたエマルジョンしかし、答え/コメントが十分にはっきりしていないようです。パスワードの入力に関する質問で、sudo -vここでは質問は許可されていないコマンドの設定に関するものです。はい、PASSWDルールとタグの相互作用はNOPASSWD似ています。

ベストアンサー1

簡単に言えば、これはセキュリティの問題です。 Maryはパスワードを提供しなくても特定のコマンドを実行できると言いました。失敗すると、「基本操作」が実行されます。行ってパスワードを尋ねて、失敗した試みを記録してください。

恐ろしい技術的な内容を扱うことなく、認証と承認を分離します。

  1. Maryはコマンドを実行しようとしていますか? lsまたはcatであることを確認し、他のコマンドの場合はデフォルト値を確認してください。
  2. Maryを承認する方法が見つかりません。であるふりをする。 - 認証に失敗しました。 fooを実行しようとするとMaryを認証できません。

相対的な

  1. この男はボブですか?パスワードがあることを確認してください。
  2. 私はボブです。 Bobはfooを実行できますか?
  3. いいえ、bobはfooを実行できません。パスワードによる認証は大丈夫です。キャッシュしてください。ただし、コマンドを受け入れることはできません。

基本的にあなたが言ったことは

  • ソートを実行するには、パスワードbobを使用してください。
  • パスワードなしでMaryはlsを実行できます。
  • Maryがfooを実行しようとすると認証できません(方法なし)。
  • bobがfooを実行しようとすると認証できますが、許可されません。

Maryは、ユーザーバーにメッセージが表示されるのと同じ理由でパスワードを入力するように求められます。したがって、ユーザはsudoに対して一般的なコマンド辞書を実行してコマンド出力を調べることで、許可されていないコマンドを確認することはできません。

またはそれを見る別の方法。 Maryの場合、「パスワードで認証するときに実行する項目」変数が空であるため、パスワードで認証することはできません。 bobに対して「パスワードで認証するときに実行できる項目」変数が空ではないため、Bobはパスワードで認証できますが、何かを実行する権限がありません。

おすすめ記事