Linux
Linux:如何防止使用者重啟服務?
我需要防止 sudo 使用者啟動/重啟或停止多個服務。
我編輯了 /etc/sudoers:
Cmnd_Alias LIMITED_CMDS=/bin/su,/bin/systemctl stop nginx,/bin/systemctl start nginx,/bin/systemctl restart nginx mytestuser ALL=!LIMITED_CMDS
但是他可以這樣做:
ln -s /bin/su /tmp/su2
而不是使用sudo su2
成為根並執行所有操作。並且 sudo 使用者也可以執行
sudo service stop nginx
or/etc/init.d/nginx stop
。我當然也可以在 Cmnd_Alias 中列出它們,但是如果我需要限制對多個服務的控制呢?太大的結構,無論如何來自 /bin/su 的 simlink 都可以解決問題。可能是我錯過了一些東西,但是 Linux 是否有一個很好的工具/配置來限制使用者控制某些服務的權限?我用Google搜尋並發現只有帶有 sudoers 文件的變體,但這不是我需要的簡單的方法 - 不要向使用者添加 sudo 權限:) 但在我的情況下,使用者必須在 sudo 組中。
它的工作方向相反:向使用者添加必要的權限,僅此而已。您正在嘗試做的事情不會奏效,正是因為您提到的案例。如果使用者有權做“所有事情但是”,那麼利用您沒有想到的“但是”部分是微不足道的。
根據定義,任何對系統具有絕對控制權的使用者(即
sudo
組中的每個人)都是受信任的使用者。如果您不信任該使用者,請將其從sudo
組中刪除,並僅授予他們絕對需要的權限。