![如何通过更改 /etc/pam.d/su 来拒绝特定用户在终端中获取 root 权限(通过 su )?需要基于 Pam 的控制](https://linux22.com/image/998624/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%E6%9B%B4%E6%94%B9%20%2Fetc%2Fpam.d%2Fsu%20%E6%9D%A5%E6%8B%92%E7%BB%9D%E7%89%B9%E5%AE%9A%E7%94%A8%E6%88%B7%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E8%8E%B7%E5%8F%96%20root%20%E6%9D%83%E9%99%90%EF%BC%88%E9%80%9A%E8%BF%87%20su%20%EF%BC%89%EF%BC%9F%E9%9C%80%E8%A6%81%E5%9F%BA%E4%BA%8E%20Pam%20%E7%9A%84%E6%8E%A7%E5%88%B6%20.png)
ubuntu 中有两个用户(我们称他们为user1
和user2
)。目前,user1
可以使用以下命令获取 root 访问权限:
user1@sai:~$ su
Password:
root@sai:/home/user1#
但是,我想拒绝user1
获取 root 访问权限,而是通过修改文件中的 Pam 配置文件来允许在需要时user2
获取 root 访问权限。sudo
/etc/pam.d/su
我怎样才能做到这一点?
答案1
这就是/etc/sudoers
在一些团体的帮助下所做的事情。
admin
默认情况下,如果用户是 group或 group的成员sudo
,他们将能够以 root 用户身份运行命令。因此,我们可以从这两个组中删除用户:
sudo gpasswd -d sudo user1
sudo gpasswd -d admin user1
请注意,这将不是立即生效。user1
必须注销并重新登录才能使此更改生效。
要授予user2
root 访问权限,您可以将他们添加到以下任一组中。我个人更喜欢将它们添加到组中sudo
,如下所示:
sudo usermod -aG sudo user2
再次,user2
需要注销并重新登录才能使这些设置生效。
但请注意,文件中可能user1
会有记录/etc/sudoers
,在这种情况下您需要删除该记录。
编辑时/etc/sudoers
,绝不手动编辑!相反,使用命令visudo
,这将验证您不会意外地不可逆转地破坏您的配置。使用命令执行此操作sudo visudo
。