用户组成员及权限

用户组成员及权限

我有user1,是该小组的成员www-data

$ groups user1
> user1 : user1 www-data

我无法在 /var/www/test 下添加或删除任何内容

/var/www/test归 www-data所有

$ ls -l /var/www/test
> drwxr-sr-x 2 www-data www-data 4096 aug 11 12:02 subtest

如何允许user1管理创建的文件和目录www-data


我已经尝试过

  • 将主要组更改user1www-data
  • 退出/登录

答案1

请尝试以下操作:

sudo chgrp -R www-data /var/www/test
sudo chmod -R g+w /var/www/test

此外:

sudo find /var/www/test -type d -exec chmod 2775 {} \; 

sudo find /var/www/test -type f -exec chmod ug+rw {} \;

我希望您理解上述命令的意义,因为它们非常清楚。

不要忘记注销/登录。

答案2

我终于找到了更干净的东西

在用户个人目录中添加 Web 目录

mkdir -p /home/user1/websites/appOfUser1
chown -Rf user1:user1/home/devone/websites
chmod -Rf 770 /home/user1/websites

然后在/etc/fstab中添加这一行(之前安装bindfs)

bindfs#/var/www/application1 /home/user1/websites/appOfUser1 fuse force-user=user1,force-group=user1,create-for-user=www-data,create-for-group=www-data,create-with-perms=0770,chgrp-ignore,chown-ignore,chmod-ignore 0 0  

最后安装它!

mount /home/user1/websites/appOfUser1
  • 它解决了并发问题,因为等式中的每个用户(每个开发人员和 Web 服务器)都看到了他正确安全地操作所需的权限;

  • 它解决了不渗透性问题,因为如果您需要一个开发人员访问某个特定的应用程序,那么您必须在其主目录中添加一个挂载点,但相反,如果您需要一个开发人员不访问某个特定的应用程序,那么您只需要不在其主目录中添加这样的挂载点。

  • 它解决了稳定性问题,因为开发人员永远无法更改应用程序文件上设置的文件权限,而这是 Web 服务器正常安全地运行所必需的。

  • 最重要的是,它易于理解和设置!

来源

相关内容