如何為 Sudo 會話指定時間限制

在與 sudo 在 Linux 中執行管理任務的命令,您可能已經註意到,即使您提供了 sudo 不久前的密碼,您需要在一段時間後再次提供密碼。 發生這種情況是因為您的時間限制 sudo 會話,默認設置為 15 分鐘。 如果你輸入一個 sudo 在這 15 分鐘後,即使在同一個終端會話中,也會要求您再次輸入密碼。 作為 Linux 管理員,您可能希望延長或縮短 sudo 會話比默認十五分鐘。

本教程描述瞭如何在 /etc/sudoers 文件中進行非常簡單的更改以指定一個時間限制 sudo 會議。 本文中提到的命令已經在Ubuntu 18中執行過; 但是,它們在舊版本的 Ubuntu 中也有相同的表現。

為 Sudo 會話指定時間 X

在這 example,我們將更改我們的時間限制 sudo 會議到 10 分鐘。 請按照以下步驟更改您的時間限制 sudo 會話,只要你想:

按打開你的 Ubuntu 終端 Ctrl+Alt+T 或通過 Ubuntu Dash。

由於您需要編輯位於 etc 文件夾中的 sudoers 文件,因此輸入以下命令:

$ sudo visudo

您將被要求輸入密碼 sudo 用戶。

您會想知道為什麼我們不像打開其他文本文件那樣打開 sudoers 文件。 答案是,與其他文本編輯器不同,visudo 會驗證您在文件中輸入的文本的語法。 這可以避免您進行任何可能導致嚴重後果的錯誤更改。 為了 example, 對 sudoers 文件進行錯誤編輯可能會導致您無法以特權用戶身份登錄以執行任何提升的功能。

輸入您的密碼並輸入。 sudoers 文件將在 Nano 編輯器中打開,因為它是 Ubuntu 18.04 的默認文本編輯器。

在上圖中,您可以看到以下行:

Defaults env_reset

此線路負責您的時限 sudo 會議。 您需要對此行進行以下更改:

Defaults env_reset, timestamp_timeout=x

這裡 x 是您可以指定以設置所需時間限制的時間(以分鐘為單位)。 設置此超時時請注意以下幾點:

如果您將超時指定為 0,則您的會話將僅持續 0 分鐘。 這意味著您將被要求為您的每個人輸入密碼 sudo 命令。

如果您將此時間設置為小於零(負數),則 sudo 命令將無法正常工作。

在這 example,我通過 sudoers 文件中的以下更改將默認時間從 15 分鐘縮短到 10 分鐘:

Ctrl+X 進行所需的更改後退出文件。 系統會詢問您是否要保存修改後的文件。 按 用於保存更改。

您還將被要求指定要保存的文件名。 請按回車鍵,因為我們不想在此處更改文件名。

您的更改將被保存,您的 sudo 每當您使用時,會話將持續到指定的分鐘 sudo 命令。

設置 Sudo 會話最後到終端關閉

通過一個簡單的命令,你可以讓你的 sudo 會話持續到你 close 終端,無論終端保持打開狀態多久。 對於任何需要的命令,您都不會被要求輸入密碼 sudo 運行此命令後的權限:

$ sudo -s

終止 sudo 會議

在您提供密碼後 sudo,您可以終止 sudo 會話甚至在 sudoers 文件中指定的時間限制之前,通過以下簡單命令:

$ sudo -k

請注意,如果您使用了“sudo -s” 在終端會話期間。

所以,這就是你如何縮短或延長一個的持續時間 sudo 通過在 /etc/sudoers 文件中進行一行更改來會話。 您還可以使用本文中提到的其他命令來終止 sudo 會話或使其持續到終端會話持續。