
我有具有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
反而。
這是因為核心仍然具有與目前正在運行的進程關聯的先前組集。