如何在 Linux 上更改默認的 sudo 密碼超時

如何在 Linux 上更改默認的 sudo 密碼超時

當您在 Linux 中運行 sudo 命令時,默認情況下它會記住密碼 15 分鐘,由/etc/sudoers文件中的 timestamp_timeout 變量決定。因此,在此期間,您可以在不提供密碼的情況下運行任何其他 sudo 命令。sudo 閒置 15 分鐘後,它會再次提示輸入密碼。

但是,您可以調整默認超時期限,並根據您的喜好將其延長或縮短。您還可以將其配置為始終要求輸入密碼或每次終端會話或系統啟動時要求輸入一次密碼。這是你如何做到這一點。

在 Linux 上調整 sudo 密碼超時

對於任何與 sudo 相關的更改,例如授予 sudo 權限、添加或設置自定義規則等,您需要編輯/etc/sudoers文件。但是,不建議直接使用任何文本編輯器手動編輯此文件。相反,使用以下命令來編輯文件:

sudo visudo

此命令在文本編輯器中打開/etc/sudoers文件進行編輯。

要更改默認的 sudo 密碼超時(並使其更長或更短),請在文件末尾添加以下行並將其值更改為您希望它在超時前等待的任何時間(以分鐘為單位)。

Defaults timestamp_timeout=x

假設您想將 sudo 密碼超時縮短為三分鐘,因此您將添加:

Defaults timestamp_timeout=3

調整 sudo 密碼超時

請注意,上述命令中的術語默認值是指系統範圍的設置。要僅將配置應用於特定用戶,請改用以下命令:

Defaults:username timestamp_timeout=x

總是提示輸入 sudo 密碼

要在運行 sudo 命令時始終提示輸入密碼,請將timestamp_timeout變量的值更改為 0:

Defaults timestamp_timeout=0

請記住,您只能以超級用戶身份進行此更改。作為標準用戶,您可以使用以下命令完成此操作:

sudo -k

此命令不需要 sudo 密碼。此外,它會讓 sudo 在您下次運行時提示輸入密碼。但是,請記住,這不會是永久性的改變。每當您希望 sudo 提示輸入密碼時,您都可以調用此命令。

每個終端會話提示一次管理員密碼

您還可以在每個終端會話中讓 sudo 提示輸入一次密碼。例如,如果您只想在每個會話中輸入一次 sudo 密碼,請在/etc/sudoers文件中添加以下行:

Defaults timestamp_timeout = -1

現在時間戳不會過期,直到您關閉終端。這意味著打開終端后,您只需在運行第一個 sudo 命令時輸入一次密碼。

另一種方法是使用以下命令以 root 身份打開 shell:

sudo bash

以下命令將要求輸入一次 sudo 密碼,然後您可以在沒有任何密碼的情況下運行所有後續命令。

以 root 身份啟動 shell

每次系統啟動時提示輸入管理員密碼一次

要使 sudo 在每次系統啟動時提示輸入一次密碼,請在/etc/sudoers文件中添加以下條目:

Defaults! tty_tickets
Defaults timestamp_timeout = -1

在上面的命令中,!tty_tickets將為所有終端會話啟用單一時間戳,因此無論您打開多少個終端,您都只需輸入一次 sudo 密碼。timestamp_timeout = -1會將 sudo 密碼設置為永不過期,直到系統重新啟動。

您可以重新啟動 Linux 機器以檢查更改是否已保存。

調整 Linux 上的 sudo 超時行為

現在您可以輕鬆更改 sudo 超時行為並在提示您輸入密碼時進行調整。請注意,您也可以在不提示輸入密碼的情況下使用 sudo。但是,僅當您是有權訪問系統的唯一用戶時才應使用此選項;否則,它可能是一個很大的安全風險。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *