一尘不染

常见的Linux文件权限问题:Apache和WordPress

linux

几周前,我从共享主机迁移到了VPS,并且遇到了WordPress这些烦人的权限问题。您知道可以从管理面板下载和升级插件(和wordpress本身),但是自从我将其移动后,它开始询问我的FTP凭据,这在我不得不更新约20个插件时有点慢。

我认为这应该是某种权利问题。我查看了共享的托管wordpress文件,它们都属于用户名和组kovshenin(kovshenin:kovshenin),文件为-
rw-r–r–,目录为drwx-r-xr-x。

在我的VPS上,apache在apache:apache下运行,我的文件是kovshenin:kovshenin。我该怎么做才能使科夫申宁和apache可以读写它们?

另外,我将我的wordpress安装的所有文件和文件夹的权限更改为0777,允许我安装和删除不带FTP的插件,但是当我尝试自动升级到WordPress
2.8.1时,它仍然要求我提供FTP帐户。这是wp问题还是我错过了什么?

谢谢。

更新 :我设法运行id,并id www-data在MEDIATEMPLE共同主办。用户kovshenin在kovshenin组中,而www-
data在www-data组中。没有更多的群组。诀窍是什么?

另一个更新
好吧,我将apache用户添加到kovshenin组中,我的wordpress文件kovshenin:kovshenin具有目录rw- rw-r--权限和drwxrwxr-x目录权限,但是还是有些问题。用户apache可以访问文件和文件夹,我可以使用wordpress管理面板中的在线主题和插件编辑器,可以在wordpress中对.htaccess文件进行更改,但是插件/主题安装仍然要求我提供FTP证书!

有任何想法吗?谢谢。


阅读 403

收藏
2020-06-02

共1个答案

一尘不染

我该怎么做才能使科夫申宁和apache可以读写它们?

  • 创建一个新组,说“ wordpress”。
  • 将koveshenin和www-data用户都添加到wordpress组。
  • 将所有文件的组所有者更改为wordpress(使用chgrp)。
  • 确保所有文件都是组可写的。
  • 在所有 感兴趣的 目录 上设置g + s(setgid)许可权位。
  • 确保kovshenin和apache的默认umask包含组读取和写入权限。

最后第二步是把戏。这意味着每当kovshenin或apache在这些目录中创建文件时,组所有者将被设置为wordpress(而不是kovshenin或apache)。

2020-06-02