
[英]Cannot update Wordpress theme and plugins (file permission issues) in linux server
[英]Confusing file permissions issues when uploading wordpress plugins
我在AWS上自己的Ubuntu盒子上。 我有两个用户:medsyd(我的wordpress网站的所有者)和www-data(apache运行为)。 现在,为使事情正常进行,我将两者都添加到了彼此的组中-因此www-data属于medsyd组,而medsyd属于www-data组。
我正在努力使wordpress可以上传/安装插件而无需请求FTP访问。 我可以很好地上传图像/媒体-但是插件似乎表现得很奇怪,并且没有遵循我期望的文件权限。
这是我尝试过的:
medsyd:medsyd作为站点目录及其所有内容的所有者; 775个目录,664个文件。 WordPress要求使用FTP。 为什么? (www数据用户应该能够写入/读取正确的文件,因为它属于medsyd组)
medsyd:www-data作为站点目录及其所有内容的所有者; 775个目录,664个文件。 WordPress要求使用FTP。 为什么? (www-data用户应该能够写入以读取/写入正确的文件,因为这些文件均属于www-data组)
www-data:www-data作为站点目录及其所有内容的所有者; 775个目录,664个文件。 WordPress不需要FTP。 好极了。 但是www-data不应拥有我的所有文件。
www-data:www-data作为wp-content目录(及其所有内容)的所有者(仅medsyd:medsyd拥有的wp-content以外的所有内容); 775个目录,664个文件。 用于FTP的Wordpress ASKS。 (为什么这与上面的示例不同,上面的示例可以正常工作,其中www-data还拥有wp-content目录之外的所有内容?)
在安装插件时,wordpress使用什么逻辑来决定是否要求FTP? 我似乎想不出与上述4个示例相符的内容。
编辑:我知道还有其他解决方法-例如,更改用户apache的运行方式,将FTP凭据存储在wp-config等中,但是不管怎么说,我真的该理解为什么我在上面使用的权限没有按预期表现。
最简单的方法是以“ medsyd”用户身份运行apache。 其他方式需要更复杂的服务器配置。
打开文件/ etc / apache2 / envvars并更改以下几行:
export APACHE_RUN_USER=medsyd
export APACHE_RUN_GROUP=medsyd
然后重新启动apache。 服务apache2重新启动
如果您有多个站点并想将它们分开,建议您阅读有关mpm_itk的内容。
我将尝试解释为什么您会遇到775特权的麻烦。 GROUP特权仅影响具有相同PRIMARY组的用户。 其他组无所谓。
例如,您拥有medsyd:medsyd拥有的“ www”目录。 权限为775。Apache无法在此处进行写操作,因为它的主要组是www-data。 您应该将Apache UID / GID更改为www-data:medsyd,我的意思是将其更改为PRIMARY组。
但是无论如何,如果您想将几个站点分开,那么这种方法不适合您,因为一个受感染的站点可以访问所有其他站点。 在这种情况下,mpm_itk会更好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.