我试图打开一个文件,并用 PHP 在/var/www
文件夹中写入内容,但没有成功,所以我
sudo chmod 777 /var/www
现在我想将的权限设置为/var/www
默认权限。
的默认权限是什么/var/www
?
答案1
它本身的默认权限/var/www
是非常标准的:ownerroot:root
和 mod 755
。
至于任何事情里面 /var/www
,这是少数几个您可以自行决定将哪些内容放入其中以及其中的所有内容应具有哪些权限的目录之一。但最有意义的是:
大多数文件应该由最常写入它们的用户或组写入。您可以将它们设置为由您的用户帐户拥有。或者为您的开发人员设置一个自定义组。或者,如果文件很少被修改,并且您想要良好的安全性,那么您可以选择
root:root
在它们被修改的罕见情况下使用 sudo 进行修改。大多数文件应该不是是全球可写的。因此,
644
对于文件和755
目录而言是合适的(或者664
,775
如果您想授予组写入权限)。这是不是建议将其中任何一个设置为可由 Web 服务器写入,即
www-data
,除了您的 Web 脚本可以写入的任何特定文件。如果是这样,最好将这些文件设置为用户或组,www-data
而不是使它们可由所有人写入。请注意,任何时候,只要用户www-data
可以写入 Web 根目录中的任何文件,无论是通过设置这些文件的用户或组,还是使它们可由所有人写入,这都是一个潜在的安全问题。可由所有人写入只是两者中更糟糕的一个。
答案2
此文件夹的权限为:
chmod 755 /var/www/
文件夹内的文件为:
chmod 644 /var/www/file
答案3
确保该组是 '/var/www' 上的 www-data。
sudo chgrp www-data /var/www
使其可写
sudo chmod 775 /var/www
设置子文件夹的组 ID
sudo chmod g+s /var/www
将您的用户名添加到群组
sudo useradd -G www-data [USERNAME]
OR
usermod -a -G www-data [USERNAME]
给予自己所有权
sudo chown [USERNAME] /var/www/
答案4
不管怎样(我可能错了 - 还需要做更多的测试),请确保您正在传输的文件由登录到两台机器的用户“拥有”。因此对于 /var/www/website,源机器上的 webdir 由 kevin 拥有,而目标机器上的用户也是我。一旦有时间,我会做进一步的测试。谢谢