嗯,我的权限有问题。
- 如果我使用 Php 创建文件夹,所有者是
www-data
- 如果我使用 Ftp 创建文件夹,所有者是
storage_01
例如:
drwxr-sr-x 3 www-data www-data 4096 May 14 05:13 ixq4mz
drwxrwsr-x 3 storage_01 www-data 4096 May 13 16:40 mhpj38
drwxrwsr-x 2 storage_01 www-data 4096 May 12 12:32 zk22xa
我喜欢从 FTP 中删除文件夹和文件(我使用 proftpd),当我尝试删除时,出现 550 错误。
我理解storage_01
是不同的用户而不是所有者,但我如何才能允许storage_01
删除www-data
拥有的文件夹?
答案1
您的问题有很多解决方案。
您可以只 chmod 并授予每个人权限,这样 ftp 用户就可以删除。
这可以通过
sudo chmod 777 /var/www/Whatever-folder
但不建议这样做,因为尽管您已向系统中的所有其他用户授予读写和执行权限。
那么你的问题的最佳解决方案是什么?
您可以轻松地将名为 storage_01 的 ftp 用户设为 www-data 组的成员,这样该用户将获得该组的权限。
语法是
usermod -a -G {group-name} username
所以你的情况
sudo usermod -a -G www-data storage_01
此时用户storage_01就获得了www-data的组权限。
另一件需要注意的事情是测试您是否已经拥有该组的权限。
另一个解决方案(但会更复杂)是创建另一个包含用户www-data
和用户的新组storage_01
,然后将目录的所有权更改为该组。