一般的linux文件权限问题:Apache和WordPress

kov*_*nin 17 linux apache permissions wordpress

几个星期前我从一个共享主机转移到一个VPS,我在WordPress上遇到了这些恼人的权限问题.你知道你可以从管理面板下载和升级插件(以及wordpress本身),但自从我移动它开始问我的FTP凭据,当我必须更新~20个插件时,这有点慢.

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

在我的VPS apache下运行apache:apache和我的文件是kovshenin: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证书!

有任何想法吗?谢谢.

caf*_*caf 23

我应该怎么做才能使它们可以被kovshenin和apache读写?

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

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

  • @ChristopherIckes:这意味着无论你用什么来创建目录,都不会将setgid位复制到新目录(标准的`/ bin/mkdir`实用程序会这样做).您可能需要在创建目录后手动`chmod g + s`目录. (2认同)