Ubuntu

非工作 ACL 配置

  • July 23, 2011

我希望我的使用者“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}設置的選項。

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