我有su具有以下权限的可执行文件:
bash-4.2# ls -la /bin/su
-rws--s--- 1 root wheel 59930 Sep 14 2012 ./su
Run Code Online (Sandbox Code Playgroud)
当我以用户身份而不是wheel组登录并尝试运行时su,出现错误,这是正确的:
bash-4.2$ su
bash: /bin/su: Permission denied
Run Code Online (Sandbox Code Playgroud)
之后,我将此用户添加到wheel组root:
bash-4.2# usermod -a -G wheel user
Run Code Online (Sandbox Code Playgroud)
但是对于同一个终端会话,我仍然无法运行su:
bash-4.2$ su
bash: /bin/su: Permission denied
Run Code Online (Sandbox Code Playgroud)
对于新会话,我可以运行su. su将用户添加到适当的组后,如何允许立即运行?
只需让用户运行
newgrp wheel
Run Code Online (Sandbox Code Playgroud)
这将启动一个新的 shell,组 ID 更改为wheel. 如果你想启动一个新的 shell 并杀死前一个,请使用
exec newgrp wheel
Run Code Online (Sandbox Code Playgroud)
反而。
这是因为内核仍然具有与当前正在运行的进程相关联的先前组集。
| 归档时间: |
|
| 查看次数: |
2399 次 |
| 最近记录: |