/var/www 的读/写权限?

/var/www 的读/写权限?

我有一个正在运行的 Debian 8 服务器,该服务器归文件和子目录所有,并且/var/www对其www-data拥有权限。drwxr-xr-x

由于我需要通过 SFTP 上传文件(公钥/私钥认证;密码和非加密 FTP 被阻止),我认为将我的用户帐户添加到组应该没有问题www-data。因此,我执行了:

sudo usermod --append --groups www-data my-user

我已经退出当前 SSH 会话以触发权限的重新加载。id my-user现在显示:

uid=1000(my-user) gid=1000(my-user) groups=1000(my-user),33(www-data)

但是,我仍然无法通过 SFTP 写入数据/var/www。甚至touch test.txt直接通过 SSH 进行简单的操作也会失败Permission denied

我认为rwxread和。显然writeexecute对目录/文件权限的理解不完整。有人能帮忙吗?

答案1

您声明 /var/www 的权限是drwxr-xr-x仅供rwx所有者使用的。组具有r-x权限,这意味着即使您将自己添加到www-data组中,目录也不允许组对 /var/www 具有写入权限。

chmod g+w /var/www允许您的帐户能够将文件添加到 /var/www。

如果 /var/www 下有任何子目录,您将需要执行相同的chmod命令,如果您需要能够写入这些目录。

还可以考虑设置组粘性位,以便在 /var/www 中创建的所有文件都属于www-data该组。

chmod g+s /var/www

同样,对于 /var/www 下的任何子目录,您也需要添加此内容。

答案2

你说的权限是drwxr-xr-x,所以是755,而你将自己添加到www-data组,所以你需要775,也就是drwxrwxr-x。

相关内容