我想强制在特定文件夹中创建所有新文件权限,无论创建文件的用户是谁,
我使用acl
命令:setfacl -dR -m u:{whoami}:rwX /var/www
.. 但另一个用户无法创建新文件。我也尝试使用sudo chmod -R 757 /var/www
,但我认为该命令仅对已创建的文件有效。
有人可以帮帮我吗?
答案1
您为您的用户 (u:) 设置了 ACL,但未对其他用户、组或世界设置 ACL。chmod 仅对您创建的文件有效。对于新文件,权限由 umask 设置。这使用标志的逆序,因此如果您希望新文件具有 775(等于 u+rwx、g+rwx、o+rx),则使用 002 作为 umask。
我会将该组更改为你们都属于的公共组,在 Ubuntu 中,这将是您必须创建的组,因为通常用户都有自己的组。
addgroup users
usermod -a -G users yourusername
usermod -a -G users otherusername
chgrp -R users /var/www
并将默认 umask 更改为包含组。在 /etc/pam.d/common-session 中将 pam_umask.so 设置为
"session optional pam_umask.so umask=0007"
用户必须再次登录新会话,并
umask
显示新的 umask
groups
id
两者都可以显示你属于哪个群组。