Linux

Linux:如何防止使用者重啟服務?

  • October 21, 2019

我需要防止 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 nginxor /etc/init.d/nginx stop。我當然也可以在 Cmnd_Alias 中列出它們,但是如果我需要限制對多個服務的控制呢?太大的結構,無論如何來自 /bin/su 的 simlink 都可以解決問題。可能是我錯過了一些東西,但是 Linux 是否有一個很好的工具/配置來限制使用者控制某些服務的權限?我用Google搜尋並發現只有帶有 sudoers 文件的變體,但這不是我需要的

簡單的方法 - 不要向使用者添加 sudo 權限:) 但在我的情況下,使用者必須在 sudo 組中。

它的工作方向相反:向使用者添加必要的權限,僅此而已。您正在嘗試做的事情不會奏效,正是因為您提到的案例。如果使用者有權做“所有事情但是”,那麼利用您沒有想到的“但是”部分是微不足道的。

根據定義,任何對系統具有絕對控制權的使用者(即sudo組中的每個人)都是受信任的使用者。如果您不信任該使用者,請將其從sudo組中刪除,並僅授予他們絕對需要的權限。

引用自:https://serverfault.com/questions/988864