web-dev-qa-db-ja.com

OSXでSudo権限を取り消すにはどうすればよいですか

Sudo pmset sleep 0などのコマンドを実行した後、ユーザーをSudo権限から降格させて、別のSudoコマンドを実行しようとすると、パスワードを再度要求するコマンドはありますか?

現在、1つのSudoコマンドの後、パスワードを要求せずに他のコマンドを実行します。コマンドexitが機能していないようです。

4
monstasaurous

Sudo -kあなたが望むことをします; Sudoタイムスタンプが無効になり、Sudo権限が事実上取り消されるため、次にSudoを使用するときにパスワードの入力を再度求められます。

Sudoは(少なくともデフォルトでは)別のターミナルを開かないため、exitは役に立ちません。すでに使用していたシェルを終了するだけです。

ソース

6
Andrew Ferrier

timestamp_timeout/etc/sudoersを0に設定することで、これを実行できるはずです(少なくとも、Linuxでは実行できますが、OSXでは異なる場合があります)。これは、パスワードが記憶されている時間です。ほとんどのLinuxディストリビューションでは、デフォルトは15分に設定されています。 0に設定すると、Sudoがパスワードの入力を求めます毎回実行されます。これを変更するには、次のようにします。

  • Sudo visudoを実行すると、vimセッションが開き、/etc/sudoersを編集できるようになります。

  • ヒット i INSERTモードに入る

  • この行を追加します

    Defaults        timestamp_timeout=0
    
  • ヒット Esc INSERTモードを終了するには

  • ヒット :wqEnter ファイルを保存して終了します。

これで、Sudoは、パスワードを指定したばかりの場合でも、常にパスワードを要求します。これが厳しすぎると思われる場合は、より高い値を使用できます。たとえば、5を5分間、または0.5を30秒間と言います。


1
terdon