我有具有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
反而。
这是因为内核仍然具有与当前正在运行的进程关联的先前组集。