Linux

chroot 一個使用者到不同位置的多個目錄

  • January 24, 2018

我想知道如何限制使用者只能訪問和擁有 RWX 權限等目錄/etc/httpd/etc/php以及/var/www/html它自己的主目錄。

此外,我希望能夠限制該使用者只能啟動/停止/重新啟動 apache 服務。

我能想到的只有 chroot,但我只是用一個目錄完成了。有任何想法嗎?

被監禁的使用者將無法按原樣訪問這些文件夾。如果您在文件系統上啟用了 acl,您可以創建一個普通使用者並使用訪問控制列表來控制對目錄的訪問。

要授予使用者“Bob”訪問目錄的權限,請創建一個組,將 Bob 放在該組中,然後遞歸地授予該組訪問 /etc/http/ 中所有現有文件和新創建文件的權限:

# groupadd WebAccessGroup
# usermod -a -G WebAccessGroup Bob
# setfacl -Rm d:g:WebAccessGroup:rwx,g:WebAccessGroup:rwx /etc/httpd/

您也可以只授予使用者“Bob”wrx 訪問 /etc/httpd 的權限,而無需創建組:

# setfacl -Rm d:u:Bob:rwx,u:Bob:rwx /etc/httpd/

要允許 WebAccessGroup 組啟動和停止 Apache,您可以授予組 sudo 訪問權限,以執行您呼叫的特定腳本,以 root 身份啟動/停止 Apache:

使用“visudo”命令將以下內容添加到您的 /etc/sudoers 文件中:

# visudo
%WebAccessGroup   ALL=(root)    NOEXEC: /usr/bin/httpd

然後 Bob 將使用 sudo 啟動 Apache:

$ sudo /usr/sbin/httpd -k start

** 注意:如果您在非標準埠上以非 root 使用者身份執行 Apache(本例中為“anotheruser”),將 All=(root) 更改為 All=(anotheruser) 並執行 start 會更安全、更好命令如:

sudo -u anotheruser /usr/sbin/httpd -k start

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