Linuxで管理タスクを実行するためにsudoコマンドを使用しているときに、しばらく前にsudoパスワードを指定した場合でも、しばらくすると再度入力するように求められることに気付いたかもしれません。これは、sudoセッションの時間制限(デフォルトでは15分に設定されている)が原因で発生します。同じターミナルセッションでも15分後にsudoコマンドを入力すると、パスワードの再入力を求められます。 Linux管理者は、sudoセッションの制限時間をデフォルトの15分より長くしたり短くしたりすることができます。
このチュートリアルでは、/ etc / sudoersファイルに非常に簡単な変更を加えて、sudoセッションの時間制限を指定する方法について説明します。この記事で言及されているコマンドはUbuntu18で実行されています。ただし、古いバージョンのUbuntuでも同じように機能します。
Sudoセッションの時間Xを指定する
この例では、sudoセッションの制限時間を10分に変更します。次の手順に従って、sudoセッションの制限時間を必要なだけ変更してください。
Ctrl + Alt + Tを押してUbuntuターミナルを開きます またはUbuntuDashを介して。
etcフォルダーにあるsudoersファイルを編集する必要があるため、次のコマンドを入力します。
$ sudo visudo
sudoユーザーのパスワードを入力するように求められます。
他のテキストファイルを開くのと同じように、sudoersファイルを開かないのはなぜか疑問に思われるでしょう。答えは、他のテキストエディタとは異なり、visudoはファイルに入力したテキストの構文を検証するということです。これにより、深刻な影響を引き起こす可能性のある誤った変更を行う必要がなくなります。たとえば、sudoersファイルを誤って編集すると、特権ユーザーとしてログインして昇格された機能を実行できなくなる可能性があります。
パスワードを入力して入力します。 sudoersファイルはUbuntu18.04のデフォルトのテキストエディターであるため、Nanoエディターで開きます。
上の画像では、次の行を見ることができます:
Defaults env_reset
この行は、sudoセッションの時間制限を担当します。この行に次の変更を加える必要があります:
Defaults env_reset, timestamp_timeout=x
ここで、xは、必要な制限時間を設定するために指定できる時間(分単位)です。このタイムアウトを設定するときは、次の点に注意してください。
タイムアウトを0に指定すると、セッションは0分だけ続きます。これは、sudoコマンドごとにパスワードの入力を求められることを意味します。
この時間をゼロ未満(負の値)に設定すると、sudoコマンドは正しく機能しません。
この例では、sudoersファイルを次のように変更することで、デフォルトの時間を15分から10分に短縮しています。
Ctrl + Xを押します 必要な変更を加えた後、ファイルを終了します。変更したファイルを保存するかどうかを尋ねられます。 Yを押します 変更を保存します。
また、保存するファイル名を指定するように求められます。ここでファイル名を変更したくないので、Enterキーを押してください。
変更が保存され、sudoコマンドを使用するたびにsudoセッションが指定された分まで続きます。
ターミナルが閉じるまでのSudoセッションの設定
簡単なコマンドで、ターミナルが開いたままになっている時間に関係なく、ターミナルを閉じるまでsudoセッションを継続させることができます。このコマンドを実行した後、sudo権限を必要とするコマンドのパスワードを入力するように求められることはありません:
$ sudo -s
sudoセッションを終了します
sudoのパスワードを入力した後、次の簡単なコマンドを使用して、sudoersファイルで指定された制限時間より前でもsudoセッションを終了できます。
$ sudo -k
ターミナルセッション中に「sudo-s」を使用した場合、このコマンドはセッションを終了しないことに注意してください。
したがって、これは、/ etc / sudoersファイルに1行の変更を加えることにより、sudoセッションの期間を短縮または延長する方法です。この記事に記載されている他のコマンドを使用して、sudoセッションを終了したり、ターミナルセッションが終了するまで継続することもできます。