Apps

Mac OS XでSudoパスワードのタイムアウトを変更する方法

Mac OS XでSudoパスワードのタイムアウトを変更する方法

Macでパスワードの有効期限のsudoタイムアウトを変更する

コマンドラインを頻繁に使用する上級ユーザーは、sudo のパスワード有効期限をより安全に(または、パスワード猶予期間のタイムアウトを延長することでより安全に)設定したいと考えるかもしれません。通常、これはパスワードのタイムアウトを削除し、デフォルトの5分間のパスワードキャッシュを破棄することを意味します。これにより、sudo を先頭に付けるコマンドを実行するたびに、root パスワードの入力が必須になります。


sudo パスワードの猶予期間のタイムアウトを変更または削除するには、visudo を使用します。ちなみに、このトリックは Linux だけでなく Mac OS X にも適用されます。

これは上級コマンドラインユーザー向けです。sudo、vim、visudo の使い方がよくわからず、コマンドラインの使用経験も浅い場合は、これらの設定は変更しないでください。sudoers ファイルが破損すると、多くの問題が発生する可能性があり、バックアップからの復元が必要になる場合があります。この設定の調整は、自己責任で行ってください。

Sudoパスワードの有効期限の調整

コマンドラインから、visudo の助けを借りて sudoers ファイルを編集します。visudo なしで /etc/sudoers を編集しようとしないでください。

sudo visudo

矢印キーを使用して sudoers ファイルの末尾に移動し、新しい行に次の構文を入力します (後で参照できるように、先頭にハッシュ # を付けてコメントを追加することもできます)。

Defaults timestamp_timeout=0

この例では、タイムアウト猶予期間として「0」を使用しています。これは、sudo がコマンドごとにのみ動作し、デフォルトの5分間はパスワードのキャッシュが行われないことを意味します。この数値は分単位なので、任意の値に設定できますが、ここではsudo のパスワード猶予期間を削除するために「0」を使用しています。また、「-1」を使用してsudoの猶予期間を無期限にすることもできますが、これはいかなる状況でも推奨されません。

完了したら、Escape (ESC) キーを押し、続いてコロン : を押し、引用符なしで「wq」と入力し、リターン キーを押して変更を保存し、visudo を終了します。

ターミナルを更新すると、sudo の猶予期間はゼロになります。hosts ファイルを編集するか、ルート アクセスを必要とするその他のタスクを実行して試してみると、次のコマンドですぐに再びルート認証が必要になることがわかります。

特定のユーザーに対してタイムアウトを調整することもできます。これは、sudoersにユーザーを追加し、個々のユーザーアカウントに特定のパスワード猶予期間を設定したい場合に便利です。これは、次のようにdefaults文字列にユーザー名を追加することで実現できます。

Defaults:user timestamp_timeout=XX

sudo パスワード タイムアウトを一時的に調整するために 'sudo -k' を使用することもできます。これは、セキュリティを高めるためにタイムアウトを 0 に設定しているユーザーにとって役立ちます。

sudoのタイムアウトを変更する

sudoers ファイルについては、Mac OS X および Linux プラットフォームの上級ユーザーに関連する可能性のある情報がまだたくさんありますが、マニュアル ページを調べると役立ち、他の多くのオプションが提供されます。