/ var / www的读写权限?

我有一个运行在/var/wwwwww-data所在的Debian 8服务器,对于文件和子目录都有drwxr-xr-x权限

由于我需要通过SFTP上传文件(公钥/私钥身份validation;密码和非encryption的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写入数据。 即使通过SSH直接touch test.txt也会失败, Permission denied

我以为rwxreadwriteexecute 。 很明显,我对目录/文件权限的理解是不完整的。 有人可以帮忙吗?

你声明/ var / www的权限是drwxr-xr-x ,它是rwx的所有者。 组有rx这意味着即使您将自己添加到www-data组,该目录也不允许将组写入权限给/ var / www。

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

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

另外考虑设置组粘性位,以便在/ var / www中创build的所有文件都将具有www-data作为组。

chmod g+s /var/www

同样,对于/ var / www下面的任何子目录,你也要添加这个。

你说权限是drwxr-xr-x,所以755,你自己join了www-data组,所以你需要775,就是drwxrwxr-x。