共享 Web 文件夹的所有者/群组

共享 Web 文件夹的所有者/群组

我有一个服务器设置,其中几个用户需要访问 webroot 和子文件夹。我如何确保他们上传的文件具有适当的权限,以便 apache 可以查看,并允许他们在必要时编辑/删除文件

答案1

只需将两个用户添加到特定组并让该 ftp 路径归该特定组所有。

groupadd ftpWebGroup
usermod -a -G ftpWebGroup ftp
usermod -a -G ftpWebGroup apache
chown -R :ftpWebGroup WEBROOTPATH  #recursively change group ownership to ftpWebGroup
chmod -R g+rw WEBROOTPATH #give r/w group permission

答案2

您可以使用 ACL 实现对标准 unix 权限和 umask 的更高级控制(和继承!)。一如既往,控制越多,复杂性就越大。

首先,需要使用 ACL 选项安装设备上的文件系统(此处假设为 Linux 扩展文件系统)。这可能已经可用……如果没有:

您可以为设备添加默认安装选项:tune2fs -o acl /dev/device 然后重新启动或手动重新安装磁盘。请注意,如果您没有使用上面修改的“默认”进行安装,则可能需要编辑 /etc/fstab 以包含“acl”选项。

现在您已准备好使用 和 获取并设置getfaclACL setfacl

您所需要的是目录上的默认用户/组权限,然后该权限将由其中包含或创建的任何文件继承。

setfacl -m d:group:yourNewGroupForYourFtpUsers:rwx /webroot/site/

touch /webroot/site/testfile
mkdir /webroot/site/testdir
touch /webroot/site/testdie/testfile

然后getfacl每条路径上都应该包含类似这样的一行group:yourNewGroupForYourFtpUsers:rwx

如果您以前没有使用过 ACL,您可能需要检查一些处理文件的外部工具是否也支持 ACL。备份/恢复等。

相关内容