我正在为 WordPress 设置网络服务器。
WordPress 要求它的东西必须由 www 用户拥有,否则在安装插件和主题时遇到问题(要求服务器 FTP 凭据,这很愚蠢,我知道)。
这不是问题,但我想给一个 ssh 用户一个空的 WWW 目录,这样他们就可以自己下载/解包/设置 WordPress(放手方法)。
在他们下载并解压 WordPress 存档后,所有文件都归该特定用户所有,并且由于已经提到的原因,他们在管理插件/主题安装或更新时遇到了问题。
实现这两个目标的最方便和安全的方法是什么,让用户有宾至如归的感觉并安装完整的 WordPress?
似乎 setfacl 可能是一个不错的解决方案,让一个目录下的所有新东西都继承我设置的权限。
任何人都可以提供有关如何实现我想要实现的目标或什至引导我走向其他方向的提示或建议吗?
我将 Nginx 与 PHP-FPM 一起使用。
谢谢!
另一种选择是您可以创建一个脚本来更改他们在某个目录中上传的文件的所有权。您可以设置 sudoers 文件,这样他们就可以只以 root 身份运行该脚本,而无需密码。
如果操作不当,这可能是一个安全漏洞,但如果操作正确,则没什么大不了的。有些事情要确保是
chattr +i
其上设置不可变属性 ( )。在 wp-config.php中将常量添加/更新
FS_METHOD
为“direct”,您可以在不提供任何 FTP 详细信息的情况下进行更新。来源:https ://codex.wordpress.org/Editing_wp-config.php
我找到了解决方案。是我白痴。
我从其他主机复制了 php-fpm 池配置并忘记定义用户:用户权限,因此 php 进程以该用户身份运行。
改变它并将 nginx 用户(www)添加到用户组解决了这个问题。