在Linux系統(tǒng)服務(wù)器中,sudo命令允許我們執(zhí)行管理任務(wù)。然而,你可能已經(jīng)注意到,你如果一段時(shí)間不操作后,需要再次提供sudo密碼。這是因?yàn)槟愕膕udo會(huì)話有時(shí)間限制,默認(rèn)情況下是15分鐘。如果你在執(zhí)行sudo命令時(shí)加上密碼,你的sudo權(quán)限將保持15分鐘。在這15分鐘之后,您將被要求再次為后續(xù)的sudo命令提供sudo密碼。
在某些情況下,你可能想改變sudo會(huì)話的默認(rèn)時(shí)間限制,即增加或減少它。例如,如果你是唯一一個(gè)對(duì)系統(tǒng)有訪問(wèn)權(quán)的人,你可以增加sudo會(huì)話的超時(shí)限制。同樣,你也可以減少sudo會(huì)話的超時(shí)限制,或者將其設(shè)置為0,這樣當(dāng)你運(yùn)行sudo命令時(shí),總會(huì)被要求輸入密碼。
在本文中,我們將介紹如何指定sudo會(huì)話的時(shí)間限制。你所需要的只是在/etc/sudoers文件中做一個(gè)簡(jiǎn)單的配置。
請(qǐng)注意,本文所討論的命令和過(guò)程已經(jīng)在Ubuntu 20.04 LTS(Focal Fossa)上進(jìn)行了測(cè)試。你也可以在老版本的Ubuntu上執(zhí)行同樣的程序。
1、為Sudo會(huì)話指定時(shí)間X
在以下過(guò)程中,我們將sudo會(huì)話的時(shí)間限制指定為5分鐘。請(qǐng)按照以下步驟將sudo會(huì)話的時(shí)間限制指定為所需的任意時(shí)間:
首先,使用Ctrl +>
$ sudo visudo
需要提供sudo的密碼。
注意:切勿使用任何文本編輯器編輯/ etc / sudoers文件。而是使用如上所述的visudo命令。原因是,與其他文本編輯器不同,visudo檢查文件中的語(yǔ)法和錯(cuò)誤。這樣,您可以避免進(jìn)行任何可能導(dǎo)致嚴(yán)重影響的錯(cuò)誤更改。
默認(rèn)情況下,/ etc / sudoers文件將在Nano編輯器中打開(kāi)。在/ etc / sudoers文件中查找以下行:
defaults env_reset
在上一行的末尾,像這樣添加timestamp_timeout = x:
defaults env_reset timestamp_timeout=x
其中x是sudo會(huì)話的超時(shí)值。例如,要將sudo會(huì)話的超時(shí)值設(shè)置為5分鐘,請(qǐng)將x的值設(shè)置為5。
defaults env_reset,timestamp_timeout=5
同時(shí)使用Ctrl + O和Ctrl + X保存并關(guān)閉文件?,F(xiàn)在嘗試執(zhí)行任何sudo命令(例如sudo apt update)?,F(xiàn)在等待2至3分鐘,然后再次執(zhí)行sudo命令,系統(tǒng)將不會(huì)要求您輸入密碼。但是,5分鐘后,您運(yùn)行的任何sudo命令都會(huì)提示您輸入sudo密碼。
如果希望系統(tǒng)在每次執(zhí)行sudo命令時(shí)都要求輸入密碼,請(qǐng)將x的值設(shè)置為0。類(lèi)似地,如果希望系統(tǒng)從不要求sudo密碼,則將x的值設(shè)置為-1。 。
2、將sudo會(huì)話設(shè)置為持續(xù)到終端關(guān)閉
無(wú)論終端保持打開(kāi)狀態(tài)多長(zhǎng)時(shí)間,您都可以通過(guò)簡(jiǎn)單的命令使sudo會(huì)話持續(xù)到關(guān)閉終端為止。運(yùn)行此命令后,將不會(huì)提示您提供任何需要sudo特權(quán)的命令的密碼:
$ sudo -s
3、終止sudo會(huì)話
提供sudo密碼后,甚至可以在/ etc / sudoers文件中指定的時(shí)間限制之前終止sudo會(huì)話。這是這樣做的命令:
$ sudo –k
但是,請(qǐng)記住,如果您之前在終端會(huì)話中執(zhí)行了“ sudo –s”命令,則此命令將不起作用。
在本文中,您學(xué)習(xí)了如何管理sudo會(huì)話的超時(shí)限制。編輯/ etc / sudoers文件以延長(zhǎng)或縮短超時(shí)限制,或使用本文中提到的其他命令終止sudo會(huì)話,或使其持續(xù)到終端會(huì)話持續(xù)。