Sudo 不会在 Debian 10 上持续存在

Sudo 不会在 Debian 10 上持续存在

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 不会持久存在,一旦我关闭终端,它就会消失。我可以使用“groups”命令确认这一点。在执行上述命令序列之后,它成功地将“tom”列为 sudo 组的一部分。关闭终端并打开新终端后,“groups”显示“tom”不属于 sudo 组。

为什么我的更改没有保留?

(可能不相关的说明是,尽管我确定密码是正确的,但我无法使用我的 root 帐户直观地登录系统)。

答案1

您的更改正在持久化,您可以通过运行来验证这一点

grep sudo /etc/group

它应该显示tom为 group 的成员sudo

发生的情况是您的用户组没有被重新加载。当您运行时su,您将再次有效登录,并且生成的 shell 将设置tom为组的成员sudo。但您的桌面会话不会,并且直到您注销并再次登录之前都不会,或者甚至可能不会(例如,如果您的 systemd 用户会话仍然存在)。

答案2

您需要注销并重新登录。

相关内容