Debian

Debian Lenny 中的訪問控制列表

  • April 29, 2010

因此,對於在我的伺服器上託管網站的客戶,我創建使用者帳戶,並在 /home 中使用標準主文件夾。

我為所有使用者設置了一個 SSH 監獄collective,因為我真的反對使用單獨的 FTP 伺服器。然後,我安裝了 ACL 並將 acl 添加到我的/etc/fstab- 一切都很好。

  1. 我 cd 進入/homechmod 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使用者主目錄的輸出嗎?

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