2016-09-21 80 views
5

我对我的VPS在CentOS 7 LAMP stack.I've运行的WordPress随后this guide设置权限,即我已经运行WordPress的文件权限要求须藤

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

我还设置WordPress的目录和文件权限使用这些命令:

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

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

(我不得不前缀sudo上面的命令)

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

我有3个问题:

  1. 在WordPress目录中的任何文件CRUD命令仍然需要我sudo前缀的命令,否则我得到一个权限错误。由于myuser属于apacheapache拥有目录,我很困惑,为什么我仍然需要以sudo前缀的命令。
  2. 与问题1类似,任何git命令(如git pull)都要求我在该命令前加上sudo,否则我会收到权限错误。
  3. 当我尝试从我的WordPress仪表板Web界面自动更新主题文件时,出现许可错误。有趣的是,我可以通过WordPress仪表板安装/更新插件,而不会出现任何权限错误。

关于我失踪的任何想法?

+0

我觉得这个已经很少与WordPress本身做的,所以是一个更好的地方根据[帮助文件](http://wordpress.stackexchange.com/help/on-topic)询问它 –

+0

@MarkKaplun,**主题为**服务器配置。我想你也可以争辩说,这是一个通用的服务器配置和管理问题,它不会成为主题。 – fortuneRice

回答

6

看:What does mode_t 0644 mean?

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

CRUD是写命令,所以你不能做到这一点。要么您更改为664或继续使用sudo。基本上文件系统上的任何写入过程都不会被允许,因为你的用户不是所有者(事件虽然他在组中)。

3

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

我建议如下:

  1. 编辑/ etc/SYSCONFIG/SELinux的
  2. 变化SELINUX =许可(或任何SELINUX在文件中目前设定为)到SELINUX =禁用
  3. 重新启动服务器(不只是Apache Web服务器,但整个机器)

禁用SELINUX完全不是一个好主意,therefo如果此过程有效,则应重新启用SELINUX并修复其配置。

配置SELINUX可以是一个艰巨的任务,所以我建议你阅读了关于谷歌如何做到这一点:)

1
chown -R -f user:apache /path of the directory 
+1

最好解释命令和它将如何解决问题。 – Tushar

+0

你不应该给wordpress许可。只需将wordpress文件夹放在服务器上,并将所有权更改为用户(如命令所示) –

+1

好的,[编辑]答案并在答案中添加说明。这样,未来的读者可以在答案中看到描述。 – Tushar