Rob*_*Rob 5 permissions ftp apache2
为了让 WordPress 能够读/写文件/文件夹的所有者必须是 www-data。
现在的问题是,如果所有者是组文件传输的 www-data (www-data:filetransfer),则 FTP 用户 ftpclient1 可以登录,但没有对设置为 www-data:filetransfer 的文件夹的写入权限,因为他不是所有者。
我怎样才能做到这一点?
Tom 因在ServerFault 上发表的这篇文章而值得获得一枚奖牌
按照他解释的方式设置组 ID 就可以了!
尝试扩展 @Zoredache 的答案,因为我自己尝试了一下:
创建一个新组 (www-pub) 并将用户添加到该组
Run Code Online (Sandbox Code Playgroud)groupadd www-pub usermod -a -G www-pub usera # must use -a to append to existing groups usermod -a -G www-pub userb groups usera ## display groups for user将 /var/www 下所有内容的所有权更改为 root:www-pub
Run Code Online (Sandbox Code Playgroud)chown -R root:www-pub /var/www # -R for recursive将所有文件夹的权限改为2775
Run Code Online (Sandbox Code Playgroud)chmod 2775 /var/www
2=设置组ID,7=rwx所有者(root),7=rwx组(www-pub),5=rx世界(包括apache www-data用户)设置组 ID ( SETGID ) 位 (2) 会导致组 (www-pub) 被复制到在该文件夹中创建的所有新文件/文件夹。其他选项包括用于复制用户 ID 的 SETUID (4) 和我认为仅允许所有者删除文件的 STICKY (1)。
有一个
-R递归选项,但不会区分文件和文件夹,因此您必须使用 find,如下所示:Run Code Online (Sandbox Code Playgroud)find /var/www -type d -exec chmod 2775 {} +将所有文件更改为0664
Run Code Online (Sandbox Code Playgroud)find /var/www -type f -exec chmod 0664 {} +将用户的 umask 更改为 0002
umask 控制默认的文件创建权限,0002 意味着文件将有 664 个,目录有 775 个。设置此项(在我的例子中通过编辑
umask底部的行/etc/profile)意味着一个用户创建的文件将可由 www- 中的其他用户写入。无需chmod他们即可进行分组。通过创建文件和目录并使用
ls -l.注意:您需要注销/登录才能使对组的更改生效!
| 归档时间: |
|
| 查看次数: |
33746 次 |
| 最近记录: |