当您使用 cpanel 为用户创建帐户,并且 apache 以“nobody”身份运行时,如何让用户更新他们的 Wordpress 安装

当您使用 cpanel 为用户创建帐户,并且 apache 以“nobody”身份运行时,如何让用户更新他们的 Wordpress 安装

我使用的是 cpanel,它在 Red Hat Linux 上运行,默认情况下以名为 的用户身份运行 Apache。Ubuntunobody做了类似的事情,但调用用户www-data

默认情况下,当你为用户创建新帐户时,所有文件都属于新用户,因此所有者可能是joeblogs

问题是,所有 php 都是由 执行的nobody,并且对于默认配置权限设置,您要么是文件的所有者,要么是允许更新文件的组中的人。

我尝试过将 wordpress 文件归属为nobody,这样可以更容易地自动更新过程,但代价是允许joeblogs轻松地编辑他的文件。

什么是最简单、最易于维护的方式,可以允许用户joeblogs和 apache 用户nobody更新帐户目录中的所有文件,让他们可以轻松地保持其 wordpress 安装为最新,同时仍然尽可能多地控制他们的空间?

谢谢

答案1

Wordpress 就是为此而设计的。当用户进入更新屏幕时,它会要求输入 ftp 登录凭据,这样它就可以以 joeblogs 的身份通过 ftp 登录并以此方式管理文件。

答案2

您可以使用 acls 来实现这一点。不过,最简单的方法可能是从 mod_php 切换到 su_php,这样 wordpress 就由 joeblogs 而不是 nobody 来执行。

答案3

我博客的托管提供商目前使用通过 suExec 运行的 PHP,因此它以我的用户 ID 运行,而不是 Apache 运行时所用的用户。这效果很好,让我可以毫无问题地管理 Wordpress。过去,我手动维护升级,因为我将 wp-content 目录移开,这样我就可以在升级期间覆盖 wordpress/ 目录的其余部分,同时仍保留我的插件和主题。我只需在 wordpress/ 之外创建指向 wp-content/ 目录的符号链接即可。使用 suExec 运行 PHP,我不再需要维护这种分离,并且能够快速顺利地升级,没有任何问题。

相关内容