我有一台服务器,其所有用户都在他们自己的用户:组下,例如,用户 somename 有一个文件夹 /home/somename 并且被 chowner somename:somename。
现在,似乎该用户在从 Web 更新其 Wordpress 时遇到了问题,并且它不断要求提供 FTP 详细信息。我已将问题追溯到 www-data 无权访问用户文件这一事实。
http://ardeearam.com/solved-wordpress-asking-for-ftp-credentials-when-upgrading/
...sudo chown -R www-data wordpress/...
我如何允许或将 www-data 添加到 somename 权限中?
答案1
在 20 世纪 70 年代的世界密码文件 /etc/passwd和/etc/组安全性,只有一个 uid(用户)可以属于/被添加到一个组,不支持嵌套,但你可以按照下面的方法运行,作为一种解决方法(假设WordPress的目录不在用户主目录中):
sudo bash
ls -d /home/* | xargs chmod o+rx
find /home/ -type d -name 'wordpress' | xargs chgrp -R www-data
find /home/ -type d -name 'wordpress' | xargs chmod -R g+rw
其副作用是允许所有用户查看任何其他用户的主目录。
或者你可以添加韋斯萊用户 ID(根据情况更改)到每个用户的个人组,并带有一个 WordPress 目录,例如
sudo bash
for wpDir in `find /home -type d -name 'wordpress'`
do
chgrp -R www-data $wpDir && chmod -R g+rw $wpDir
wpUser=$(echo $wpDir|sed 's:/[^/]*/\([^/]*\)/.*$:\1:')
grep $wpUser /etc/passwd > /dev/null && ( usermod -a -G $wpUser wwwrun; chmod g+rx /home/$wpUser)
done