将用户添加到适当的组后如何允许立即运行 su

将用户添加到适当的组后如何允许立即运行 su

我有具有su以下权限的可执行文件:

bash-4.2# ls -la /bin/su
-rws--s--- 1 root wheel 59930 Sep 14  2012 ./su

当我以用户身份登录(而不是在wheel组中)并尝试运行时su,出现错误,这是正确的:

bash-4.2$ su
bash: /bin/su: Permission denied

之后,我将此用户添加到wheel组中root

bash-4.2# usermod -a -G wheel user

但对于同一个终端会话,我仍然无法运行su

bash-4.2$ su
bash: /bin/su: Permission denied

对于新会话,我可以运行su.如何允许su在将用户添加到适当的组后立即运行?

答案1

只需让用户运行

newgrp wheel

这将启动一个新的 shell,并将组 ID 更改为 的组 ID wheel。如果你想启动一个新的 shell 并杀死前一个 shell,请使用

exec newgrp wheel

反而。

这是因为内核仍然具有与当前正在运行的进程关联的先前组集。

相关内容