自动设置文件夹中文件的组和权限?

自动设置文件夹中文件的组和权限?

当我在特定文件夹中创建新文件和文件夹时,我希望它们继承父文件夹的组和权限。这可能吗 ?

例如

mkdir -p example.com/public
cd example.com
sudo chgrp apache public
chmod 775 public

现在当我创建一个新文件夹时

cd public
mkdir test
ls -al
drwxrwxr-x 3 foo bar 4096 Nov 3 16:19 public

test目录属于foo我的默认组bar。我希望新文件夹属于该apache组。

我希望文件具有相同的行为。

有任何想法吗?

答案1

可以通过设置SGID位来继承组:

chmod g+s /path/to/directory

要继承权限,您需要 ACL:man 5 acl

您必须为目录设置默认 ACL:setfacl -d -m g::...

答案2

继承组所有权很容易。只需设置设置GID少量:

chmod g+s example.com/public

现在,在目录中创建的任何内容都应该具有apache组所有者,并且目录将继承 SETGID 位。

不可能在所有系统上使用 ACL 继承权限,并且在某些情况下可能会影响性能。您可以umask为 Web 服务器设置新文件/目录的权限,而不是使用 ACL 。

相关内容