我有一个 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/
中创建新文件具有相同的所有者和权限。
最佳答案
您登录的用户不是 www-data 用户或 www-data 组的成员。
我在我的服务器上进行了设置,以便我登录的用户拥有文件/目录,并且 webuser 组是拥有组,perms 设置为 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
关于linux - ubuntu中的文件权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39806679/