Debian

Sudo 在 Debian 10 上不存在

  • February 6, 2020

Debian 10 中的 Sudo 讓我發瘋。我有一個乾淨的、普通的 Debian 10 安裝。在安裝過程中,我設置了 root 密碼並創建了一個普通使用者,我們將他命名為“tom”。

以 Tom 身份登錄,我打開一個終端並嘗試將 tom 添加到 sudo:

su  
[entering root password]  
whoami  
[root]  
/usr/sbin/usermod -a -G sudo tom  

沒有錯誤,一切似乎都很好。測試它:

su tom  
whoami  
[tom]  
sudo echo "hello";  
[hello]  

按預期工作。接下來,我關閉終端。在此桌面會話中仍以 Tom 身份登錄,我打開一個新終端:

sudo echo "hello";  
[error: tom is not sudoers file]  

sudo add 不會持久化,只要我關閉終端,它就消失了。我可以用“組”命令確認這一點。在上述命令序列之後,它成功地將“tom”列為 sudo 組的一部分。關閉終端並打開新終端后,“groups”顯示“tom”不屬於 sudo 組。

為什麼我的更改沒有持久化?

(在一個可能不相關的註釋中,儘管知道密碼正確,但我無法使用我的 root 帳戶直覺地登錄系統)。

您的更改正在保留,您可以通過執行來驗證

grep sudo /etc/group

應該顯示tom為 group 的成員sudo

發生的事情是您的使用者組沒有被重新載入。當您執行時su,您有效地再次登錄,並且生成的 shell 被設置tom為 group 的成員sudo。但是您的桌面會話不是,並且在您註銷並重新登錄之前不會,或者甚至可能不會(例如,如果您的 systemd 使用者會話仍然存在)。

您需要註銷並重新登錄。

引用自:https://unix.stackexchange.com/questions/565997