Ubuntu
非工作 ACL 配置
我希望我的使用者“tobias”和“www-data”都能夠讀取和寫入特定目錄。
為此,我將它命名為 tobias:www-data,將 tobias 添加到 www-data 組並將 setguid 添加到目錄。文件和子目錄由擁有它們的 www-data 組正確創建。
據我了解,下一步是使用 ACL 為這個特定目錄設置一個特定的 umask。我希望它是 002,以便內容獲得 rw-rw-r 權限。所以我在 /etc/fstab 中的掛載中添加了“acl”並重新掛載了磁碟。到現在為止還挺好。
這是我的目錄的 ACL 配置:
$ getfacl app/cache/ # file: app/cache/ # owner: tobias # group: www-data # flags: -s- user::rwx user:www-data:rwx user:tobias:rwx group::rwx mask::rwx other::r-x default:user::rwx default:user:www-data:rwx default:user:tobias:rwx default:group::rwx default:mask::rwx default:other::r-x
但即使設置了我的 ACL,它仍然會創建具有 rw-r–r– 權限的新文件和子目錄。所以要麼我做錯了什麼,要麼我誤解了這個概念。誰能幫我弄清楚我應該做什麼以及應該做些什麼來使它工作?
它似乎在這里工作:
ubuntu-amd64% id | tr ',' '\n' | grep www-data 33(www-data) ubuntu-amd64% mount | grep ' / ' /dev/sda1 on / type ext4 (rw,errors=remount-ro,acl) ubuntu-amd64% sudo sh ubuntu-amd64# cd /var/www ubuntu-amd64# mkdir -p app/cache ubuntu-amd64# chown fission:www-data app/cache ubuntu-amd64# chmod 2775 app/cache ubuntu-amd64# ls -ld app/cache drwxrwsr-x 2 fission www-data 4096 2011-07-23 11:21 app/cache ubuntu-amd64# setfacl -dm u::rwx,g::rwx,o::rx app/cache ubuntu-amd64# getfacl app/cache # file: app/cache # owner: fission # group: www-data # flags: -s- user::rwx group::rwx other::r-x default:user::rwx default:group::rwx default:other::r-x ubuntu-amd64# exit ubuntu-amd64% umask 022 ubuntu-amd64% touch /var/www/app/cache/test ubuntu-amd64% ls -l /var/www/app/cache/test -rw-rw-r-- 1 fission www-data 0 2011-07-23 11:23 /var/www/app/cache/test
老實說,我對 Linux ACL 知之甚少,但在我看來,該
mask
選項不是您所需要的——它應該足以滿足上述default:{user,group,other}
設置的選項。