【问题标题】:File permission in ubuntuubuntu 中的文件权限
【发布时间】:2017-02-09 22:14:31
【问题描述】:
我有一个 VPS 并用它来托管我的网站。服务器是带有 php-fdm 的 nginx。
我的站点位于/var/www/sitename/html/ 以及www-data www-data 拥有的html 目录下的所有文件和文件夹中。所有文件权限为664,目录(html 文件夹和子目录)拥有775 权限。而且我的用户也是www-data 组的成员。
我可以更改此文件夹中的每个文件,但我不能在这里创建新文件或新文件夹。这需要sudo 权限。我可以在 /var/www/sitename/html/uploads 这样的子目录中创建新文件,但不能在 /var/www/sitename/html/ 中创建新文件,因为它们具有相同的所有者和权限。
【问题讨论】:
标签:
linux
ubuntu
nginx
permissions
【解决方案1】:
您登录的用户不是 www-data 用户或 www-data 组的成员。
我在我的服务器上进行了设置,以便我登录的用户拥有文件/目录,并且网络用户组是拥有组,权限设置为 750/640。您可以通过将顶级 Web 目录设置为 setgid,在上传到/在服务器上创建的所有文件/目录中自动保持所属组相同。
drwxr-s--- 4 debbie www-data 4096 Oct 6 2015 /var/www-debbie.example.com
如果网络服务器需要写入文件,创建目录并更改其权限
sudo mkdir /var/www-debbie.example.com/writeable
sudo chmod 770 /var/www-debbie.example.com/writeable
如果你还没有完成 setgid 的事情,那么修复所有权
sudo chown debbie.www-data /var/www-debbie.example.com/writeable
然后,Web 服务器用户可以对其进行写入。
drwxrws--- 4 debbie www-data 4096 Oct 6 2015 /var/www-debbie.example.com/writeable