Linux

將 sudo 限制在一個目錄中,並且它是 sudoers 文件的子目錄

  • June 16, 2013

所以我想限制 Apache 只更改某個文件夾及其所有子目錄中的權限,所以這就是我的 sudoers 文件中的內容

apache ALL= (ALL) NOPASSWD: /bin/chmod -R [g+ws] /var/www/sites/[a-z]+

但這似乎不起作用。我確信我可以通過刪除對子文件夾的限制來讓它工作,但這似乎很危險,因為它會給潛在的黑客無限的訪問權限。

那麼有沒有辦法限制 apache 只更改“站點”文件夾中的文件和文件夾,或者我是否堅持使用 chmod / chown 無限制訪問?

使用這種方法有什麼大的安全漏洞嗎?

最好將 chmod 命令設置為僅由 root 執行的 shell 腳本,然後允許該命令在 sudo 中執行。

好的,顯然這並沒有使用我所期望的完整正則表達式,一個普通的明星就成功了:

apache ALL= (ALL) NOPASSWD: /bin/chmod -R [go]+ws /var/www/sites/*

這是非常危險的。它將在您的伺服器中打開漏洞。如果使用者設法執行 chmod -R g+w /var/www/sites/../../../../etc/shadow 會發生什麼?

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