Security

在 sudoers 文件中製作 Perl 的證明命令 NOPASSWD 是否不安全?

  • January 23, 2018

我有一個 Perl 測試腳本,以 啟動prove,它測試需要 root 權限的備份腳本,因此 rsync 可以更改它從遠端伺服器下載的文件的權限。

所以我在我的 Mac 的 sudoers 文件中有以下內容:

root ALL=(ALL) ALL
%admin  ALL=(ALL) ALL
%admin ALL=(ALL) NOPASSWD:/path/to/prove

有用。但我的問題是,由於prove幾乎可以用來執行本地使用者編寫的任何 perl 腳本,這是一個巨大的安全風險嗎?

是的,這種方法是不安全的。

編寫一個特定的包裝器,專門執行您的命令,該命令隨後呼叫prove,保護它以便只有 root 可以修改它,並將它放在只有 root 可以訪問的地方。然後,將該包裝器添加到sudoers文件中。

不允許在腳本中使用參數。

注意:雖然,如果有人可以修改第一個 perl 腳本或備份腳本,即使這樣也很容易被濫用。必須確保鏈中的所有內容都只能通過root.

引用自:https://unix.stackexchange.com/questions/418990