我正在 debian 专用服务器上安装 proftpd 服务器,以便能够更新此文件夹中的一些网站文件:
/var/www/website
我添加了一个新用户: my-ftp-user 该用户的 root 是/var/www/website
,但所有者必须是 apache2 (www-data)。
所以我更改了用户组:
usermod -a -G ftpuser my-ftp-user
usermod -a -G www-data my-ftp-user
文件夹的权限/var/www/website
目前为755。子文件夹也是755模式,但子文件是644模式。
如果我是对的,my-ftp-user 现在应该能够添加、编辑、删除 中的文件/var/www/website
,不是吗?
$ su my-ftp-user
$ cd /var/www/website
$ ls -la
drwxr-xr-x 5 www-data www-data 4096 juil. 30 13:47 .
drwxr-xr-x 22 root www-data 4096 juil. 30 13:36 ..
-rw-r--r-- 1 www-data www-data 418 juil. 28 18:39 index.php
$ cat index.php // WORKS
$ touch test.txt // DOESN'T WORK : permission denied, why ?
答案1
EPERM
(权限被拒绝错误)的原因如下:
drwxr-xr-x 5 www-data www-data 4096 juil. 30 13:47 .
您尝试创建文件的目录(换句话说,更改目录文件的内容)只能对用户写入www-data
,而您则不能。
将目录标记为组可写,将用户更改为www-data
(或将所有者更改为 my-ftp-user)或(可能是最佳解决方案)在命令中使用扩展 ACL setfacl
。