この後もまだsudoでシャットダウンを実行する必要があるのはなぜですか?

この後もまだsudoでシャットダウンを実行する必要があるのはなぜですか?

私はLinux Mint 17.3を使用しています。

デフォルトでは、シャットダウンまたはその他のコマンド(再起動、電源オフなど)を実行するにはroot権限が必要です。

だから、次の行を追加しました。

lesaff_b ALL=(ALL) NOPASSWD:/sbin/poweroff、/sbin/reboot、/sbin/shutdown

私はまだこのコマンドをsudoとして実行する必要があることを知っていますが、パスワードを要求しないので、各コマンドのエイリアスを作成しました。

最初は正常に動作しましたが動作が中断されたため、このコマンドをsudoとして実行してパスワードを入力する必要があります。 sudoを使用せずにこれらのコマンドを実行する他の方法があることを知っていますが、なぜ動作する必要がある場合は動作しませんか?そして最も重要なのは、もともと機能するのはなぜですか?

答え1

コメントで学んだことを考えると、次のようになります。

  1. いくつかのコマンドを実行しますsudo(Qに引用されたNOPASSWD行を追加するためにsudoerを編集することもできます)。
  2. timestamp_timeoutsudoはこれらの資格情報をキャッシュして再起動またはシャットダウンを実行できるようにします(デフォルトでは5分だと思います)。
  3. ただし、再起動後(以降timestamp_timeout)既存のALL:ALL sudoルールがあるため、これらのコマンドのパスワードを求めるメッセージが再表示されます。いいえNOPASSWDフラグ - 追加していませんが停止しました。なぜならsudo は最後の一致規則を使用します。、予期せずメッセージが表示されます。

ここで回避策は、既存のALL:ALLルールの下にルールを移動することです(または、必要に応じて既存のALL:ALLルールにNOPASSWDフラグを追加します)。

関連情報