Sudo
sudo 命令在不提示輸入密碼的情況下執行
不知為何,突然發卡的時候不用輸入密碼了
sudo some_cmd
。即使我沒有以 root 使用者身份登錄,輸入的命令也會在不提示密碼的情況下執行。儘管如此,仍然需要呼叫需要 root 權限的命令
sudo
。我在 Ubuntu 10.04 上。知道是什麼原因造成的嗎?
說
sudo -K
,然後重試您的測試。如果它再次開始詢問,那麼所發生的只是您已sudo
配置記住密碼一段時間。最重要的是,Ubuntu 的預設
sudo
配置使它可以記住您跨tty
s 的憑據。正如您所發現的,這會影響ssh
會話,因為每個新ssh
連接看起來都像是低級作業系統程式碼的新終端。這也會影響圖形終端應用程序之類的東西。如果您使用 進行身份驗證
sudo
,然後使用 Ctrl-Shift-T 創建一個新選項卡,您會發現您不需要sudo
在該選項卡中再次輸入密碼,儘管它也會創建一個新的tty
. 您甚至可以完全關閉終端應用程序,只要您在正常密碼超時內重新啟動它,它sudo
就會執行而無需您重新輸入密碼。這種行為可能足以讓您決定要保持啟用此功能。如今,Mac OS X 也以這種方式工作。
並非所有 *ixes 都可以。Red Hat Enterprise Linux(以及 CentOS 等衍生產品)堅持在每個新的
tty
.
Defaults
您可以通過將行更改為以下內容來禁用這兩種行為/etc/sudoers
:Defaults=env_reset,timestamp_timeout=0,tty_tickets
- 該
env_reset
位應該已經存在,在這裡不相關- 該
timestamp_timeout
指令告訴它立即超時每個sudo
會話。這就像sudo -K
在每個正常sudo
命令之後說的。- 該
tty_tickets
指令確保它將憑據與tty
它們所使用的相關聯,而不僅僅是使用者名。sudo
這應該已經是預設設置了,並且在 Ubuntu 上也有這樣的記錄,但是出於上面給出的方便原因,他們必須建構他們的發行版來禁用此選項。