如何拥有一个文件夹并供 3 位用户使用

如何拥有一个文件夹并供 3 位用户使用

3 个用户,1 个文件夹。用户:vsftpd(FTP 服务器)、bobmarley(普通用户)、www-data(Apache 用户)

如何将它们统一起来,使得每个用户都可以修改这些用户的任何数据,而无需执行 CHMOD 777?

例如:bobmarley 创建了一个文件“settings.inc.php”,www-data 尝试访问该文件并成功。vsftpd 用户访问该文件并且也可以修改它。

答案1

创建一个组 ( groupadd)...chgrp将目录添加到该新组... 然后将每个用户添加到该组。这是最简单的方法。您可能还想chmod g+s在目录中确保新文件与父目录属于同一组。

哒哒!

答案2

groupadd webapp
usermod -a -G webapp vsftpd (but I think it should be nobody)
usermod -a -G webapp bobmarley
usermod -a -G webapp www-data
chgrp -R webapp /path/to/folder
chmod -R g+w /path/to/folder

如果此文件夹中有现有数据,则可以使用以下命令为所有子文件夹设置 SGID:

find /path/to/folder -type d -print0 | xargs -0 chmod g+s /path/to/folder

记得将 vsftpd、Apache 和 bobmarley 设置umask为 002。使用此配置,任何用户创建的所有文件都具有 664 权限,归webapp组所有,并且其他用户可以修改。

答案3

将它们全部放在一个公共组中。chgrp将文件放入该组中。chmod将文件/目录放入 664/775 中。

答案4

将它们分组。这就是 POSIX 中有组的原因。创建一个组xyz并将 vsftpd、bobmarley 和 www-data 放入其中。

然后将该组分配给带有的文件夹/文件chgrp

相关内容