Debian
Debian Lenny 中的訪問控制列表
因此,對於在我的伺服器上託管網站的客戶,我創建使用者帳戶,並在 /home 中使用標準主文件夾。
我為所有使用者設置了一個 SSH 監獄
collective
,因為我真的反對使用單獨的 FTP 伺服器。然後,我安裝了 ACL 並將 acl 添加到我的/etc/fstab
- 一切都很好。
- 我 cd 進入
/home
和chmod 700 ./*
.
- 此時使用者無法看到其他使用者的主目錄(耶),但 apache 也無法看到它們(噓)
- . 我跑了
setfacl u:www-data:rx ./*
。我還嘗試了單個目錄。- 現在 apache 可以再次看到這些站點,但所有使用者也可以。ACL 將主文件夾的權限更改為
750
.我如何設置 ACL 以便 Apache 可以看到託管在使用者主文件夾中的站點和 2. 使用者不能看到他們家之外和其他人的文件。
編輯:更多細節:
後輸出
chmod -R 700 ./*
sh-3.2# chmod 700 ./* sh-3.2# ls -l total 72 drwx------+ 24 austin austin 4096 Jul 31 06:13 austin drwx------+ 8 jeremy collective 4096 Aug 3 03:22 jeremy drwx------+ 12 josh collective 4096 Jul 26 02:40 josh drwx------+ 8 joyce collective 4096 Jun 30 06:32 joyce
(其他使用者或 apache 無法訪問)
setfacl -m u:www-data:rx jeremy
(現在成員 apache 和集體可以訪問——為什麼還要集體?)
sh-3.2# getfacl jeremy # file: jeremy # owner: jeremy # group: collective user::rwx user:www-data:r-x group::r-x mask::r-x other::---
解決方案
最終我所做的是:
chmod 755 * setfacl -R -m g::--- * setfacl -R -m u:www-data:rx *
嘗試將遮罩更改為“—”?
或者使用 setfacl 撤銷組權限。chmod 和 setfacl 不能很好地協同工作。
好吧,你不能阻止使用者在沒有完整 chroot 的情況下看到“在他們的主目錄之外”,因為他們總是能夠看到系統目錄
/usr/bin
(因為這是程序執行的方式)。我看不出setfacl
您給出的命令將如何產生顯示的結果;getfacl
你能在你的問題中給出ls -l
使用者主目錄的輸出嗎?