需要sudo的CentOS7上的WordPress文件权限

时间:2016-09-21 03:34:58

标签: wordpress permissions centos

我使用CentOS 7 LAMP堆栈在我的VPS上运行WordPress。我已经跟this guide设置权限,即我已经运行

sudo chown apache:apache -R * 确保我的wordpress目录归apache:apache所有。

我还使用以下命令设置了WordPress目录和文件权限:

find . -type d -exec chmod 755 {} \;

find . -type f -exec chmod 644 {} \;

(我必须在上面的命令前加上sudo

通常,我使用myuser通过SSH登录来管理服务器,其中myuser属于apache组和wheel组。

我有3个问题:

  1. WordPress目录中的任何文件CRUD命令仍然要求我在命令前添加sudo,否则我会收到权限错误。由于myuser属于apacheapache拥有该目录,因此我仍然不知道为什么我仍然需要使用sudo为命令添加前缀。
  2. 与问题1类似,任何git命令(例如git pull)都要求我在命令前添加sudo,否则我会收到权限错误。
  3. 当我尝试从WordPress仪表板Web界面自动更新主题文件时,我收到权限错误。有趣的是,我可以通过WordPress仪表板安装/更新插件,而不会出现任何权限错误。
  4. 关于我失踪的想法?

4 个答案:

答案 0 :(得分:6)

请注意:What does mode_t 0644 mean?

644 means:
 * (owning) User: read & write
 * Group: read
 * Other: read

CRUD是一个写命令,因此不允许这样做。您可以更改为664或继续使用sudo。基本上,没有sudo就不允许在文件系统上执行任何写入过程,因为您的用户不是所有者(尽管他在组中的事件)。

答案 1 :(得分:3)

@fortuneRice,CentOS7默认启用selinux,这通常是许多难以理解的文件权限错误的原因。

我建议如下:

  1. 编辑/ etc / sysconfig / selinux
  2. 将SELINUX = permissive(或文件中当前设置的任何SELINUX)更改为 SELINUX =已禁用
  3. 重新启动服务器(不只是apache web服务器,而是整个机器)
  4. 完全禁用SELINUX并不是一个好主意,因此如果此过程有效,则应重新启用SELINUX并修复其配置。

    配置SELINUX可能是一项艰巨的任务,所以我建议你在google上阅读如何做到这一点:)

答案 2 :(得分:1)

StaticTest.DoSomeWork()

答案 3 :(得分:1)

我也遇到了这个问题,并通过更改 PHP 处理程序解决了这个问题。

使用将作为文件所有者运行的 PHP 处理程序很重要。

在安装 HTTP2 和其他一些功能之后,我更改了 PHP 处理程序。

我在 VPS 上运行 WHM/CPanel,并按照以下步骤解决了我的问题:

  1. WHM下 > Software > EasyApache 4 > Customize

    mod_suphp 标签下查找:Apache Modules 并确保它已启用,如果您刚刚打开它进行安装,请按照第二步操作。

  2. 转到 Review 标签并点击 Provision 按钮进行保存。

  3. Whm > Software > MultiPHP Manager 下寻找 PHP Handlers 标签。

  4. 选择 suphp 作为当前 PHP 版本的处理程序。

就是这样。它是 PHP 处理程序。

编辑:我注意到 suphp 与我动态添加到图像水印的用户上传目录之一发生冲突。似乎 suphp 处理程序有权上传但不显示图片。 我还为 PHP 处理程序尝试了 lsapi,它似乎可以在文件权限下正常工作,并通过 .htaccess 文件水印附加图像。