NOPASSWDが設定されているとsudoタイムスタンプが更新されないのはなぜですか?

NOPASSWDが設定されているとsudoタイムスタンプが更新されないのはなぜですか?

sudoersファイルを編集して、sudoがパスワードの入力を求められないようにしました。

myuser ALL=(ALL:ALL) NOPASSWD: ALL

うまく動作し、sudoを実行し、パスワードプロンプトはありません。しかし、入るとすぐにsudo -vパスワードを一度だけ入力するように求められます。sudo -vマニュアルで私が知っていること:

-v(確認)オプションが指定されている場合、sudoはユーザーのタイムスタンプを更新し、必要に応じてユーザーのパスワードを求めるメッセージを表示します。これにより、sudo タイムアウトがさらに 15 分 (または sudoers に設定されたタイムアウト) だけ延長されますが、コマンドは実行されません。

そして私はとにかくそれを使う必要がないことを知っています(それとも私が間違っていますか?)。

問題は、sudo -vそのユーザーにパスワードを要求しないように設定されたsudoでパスワードを求めるメッセージが表示されるのはなぜですか?特に他のsudoコマンドの後に実行する場合:明示的に実行しない限り、タイムsudo -vスタンプが更新されないのはなぜですか?sudo -v

重要な場合、私のコンピュータはUbuntu Server 11.10を実行しています。

編集:実行するためにパスワードは必要ありませんが、直後にパスワードの再入力を求めるメッセージが表示されるため、sudo sudo -vタイムスタンプを更新しないようです。sudo -v

sudoタイムスタンプを更新するメカニズムは何ですか? sudoコマンドを実行した後に実行したときにタイムスタンプが更新されないのはなぜですかsudo -v

ベストアンサー1

ほぼ確実にデフォルトのオプションが原因です。認証に設定されています存在する。 sudoersのマニュアルページから:

認証設定されている場合、ユーザーはコマンドを実行する前にパスワードで自分自身を認証する必要があります。このデフォルト値は、PASSWDおよびNOPASSWDフラグで無視できます。このフラグはデフォルトでオンになっています。

つまり、NOPASSWD フラグはパスワード要件を無視します。しかし、指定されたコマンドにのみ適用されます。それ以外の場合はパスワードが必要です。このデフォルトは、このコマンドによって引き起こされるセキュリティの脆弱性を排除するために追加されましたsudo -l

おすすめ記事