可能重复:
对我的网站来说,使用哪种 Linux 权限最好?
我有一个在本地计算机上开发的 wordpress 预制网站,我将其上传到在 debian6 上运行的 vps,使用 nginx、mysql、php。遵循此指南:
1) 创建一个非特权用户,可以是“karl”或其他任何名称,并使其属于 www-data 组。这样,如果我以 karl 身份登录并在 /home/karl/www/ 中创建一个 Web 根目录,则所有文件都将归 karl:www-data 所有
2)在 nginx.conf 中将 nginx 设置为用户 www-data
3)设置 PHP-FPM 作为 www-data 运行
4)将您的文件放在/home/karl/www/[可能是域名]/public_html/中,以“karl”的身份上传,这样您就不必再次 chown 所有内容。
当我输入ls -l
inside时public_html/
,它显示里面的所有文件都归 拥有karl:karl
。但是 public_html 目录归 拥有karl:www-data
。
我进入了chmod 0755
文件夹wp-content
但仍然收到错误:
错误:路径../wp-content/connection_images似乎不可写。
我知道出于安全原因我不应该将其设置为 777,我应该如何将其设置为适当的权限?我还应该设置什么才能允许我的用户上传、撰写帖子、编辑文章?
顺便说一句,抱歉我的英语不好。
答案1
我相信您已将 karl 添加到 www-data 组,但无论何时创建文件,它都会以权限 karl:karl 创建,但您需要 karl:www-data。
为此,从 karl 组中删除 karl 用户。
另外,由于小组正在这里编写,因此您需要为 wp-content 文件夹设置权限 0775。我相信一旦您更改了 wp-content 内所有文件夹的权限,上传就会成功。
答案2
如果这是机器上唯一的网站 - 我建议将您的非特权“karl”帐户重命名为与 wordpress 网站相关的名称,然后以此用户身份运行您的 NGINX 和 PHP-FPM 服务器。这意味着您修改的文件和 Web 服务器修改的文件最终归同一帐户所有。
显然,您希望确保该帐户无法执行诸如运行 sudo 之类的操作。此链接 (http://codex.wordpress.org/Hardening_WordPress) 是一篇很好的读物,可以帮助您了解 Wordpress 对哪些文件夹需要什么权限。