Debian 10 中的 Sudo 使我发疯。我有一个干净的 Debian 10 安装。在安装过程中,我设置了 root 密码并创建了一个普通用户,让我们将他命名为“tom”。
以 Tom 身份登录,我打开一个终端并尝试将 tom 添加到 sudo:
su
[entering root password]
whoami
[root]
/usr/sbin/usermod -a -G sudo tom
Run Code Online (Sandbox Code Playgroud)
没有错误,一切似乎都很好。测试它:
su tom
whoami
[tom]
sudo echo "hello";
[hello]
Run Code Online (Sandbox Code Playgroud)
按预期工作。接下来,我关闭终端。在此桌面会话中仍以 Tom 身份登录,我打开一个新终端:
sudo echo "hello";
[error: tom is not sudoers file]
Run Code Online (Sandbox Code Playgroud)
sudo add 没有保留,只要我关闭终端,它就消失了。我可以用“groups”命令确认这一点。在上述命令序列之后,它成功地将“tom”列为 sudo 组的一部分。关闭终端并打开新终端后,“groups”将“tom”显示为不是 sudo 组的一部分。
为什么我的更改没有持久化?
(在一个可能不相关的注释中,尽管我知道密码正确,但我无法使用我的 root 帐户直观地登录系统)。
您的更改正在持久化,您可以通过运行来验证
grep sudo /etc/group
Run Code Online (Sandbox Code Playgroud)
应该显示tom为组的成员sudo。
发生的情况是您的用户组没有被重新加载。当您运行时su,您有效地再次登录,并且生成的 shell 被设置tom为 group 的成员sudo。但是您的桌面会话不是,并且在您注销并再次登录之前不会,或者甚至可能不会(例如,如果您的 systemd 用户会话仍然存在)。
| 归档时间: |
|
| 查看次数: |
335 次 |
| 最近记录: |