WordPress管理媒体上传权限

时间:2015-11-16 10:22:17

标签: php wordpress file-permissions

我可以访问托管许多wordpress博客的服务器。最初上传文件夹的权限设置为777(递归),但这导致我们的服务器和上传的恶意文件出现问题,因为我们的服务器被列入黑名单。

我删除了uploads文件夹下的所有PHP文件,并将权限设置为755。

现在的问题是wordpress博客/网站的管理员用户无法上传媒体文件。

请指导我可以做的事情,以便他们可以上传文件(图片或视频)。

我们可以设置一些在使用wordpress admin上传文件时会询问FTP详细信息的内容。我可以为此创建FTP用户。

请指南。

3 个答案:

答案 0 :(得分:0)

不确定您获得的是哪种类型的错误。但你可以试试这个

将此行添加到

define('UPLOADS', 'wp-content/uploads');
  

WP-config.php中

在行

之前
require_once(ABSPATH.’wp-settings.php’);

如果该目录尚不存在,只要wp-content文件夹可写,WordPress就会自动创建该目录。

答案 1 :(得分:0)

嘿,我只是将权限设置为chmod -v 747 uploads并且它有效。至少比777好。

但是如果有风险的话,我想在此提出建议。如果风险那么多少。我是权限和服务器管理的新手。

谢谢!

答案 2 :(得分:0)

我知道这是一个老线程,但我发现在我遇到的一个无关的问题的结果很高。似乎使用的权限模式@vanurag实际上有一个用户/组权限问题而不是权限模式(755 vs 777)问题。

您可以在php中找到var_dump(whoami())的网络服务器用户,可能类似于www-data。

知道用户名后,请确认该用户是该文件夹的所有者或位于分配给该文件夹的组中。您可以在Linux控制台中使用以下内容来查找当前用户/组。 ls -l /path/to/wp-content/uploads

将Web服务器用户(www-data)添加为所有者,并将该组保留原样,或将用户添加到具有权限的组中。

使用chown(更改所有者)将用户设置为您的需求。

我通常会将用户添加到组而不是更改所有者,因为所有者可能是FTP用户,并且可能会破坏配置中使用的其他权限。

usermod -g www-data foobar其中foobar是拥有uploads文件夹权限的群组的名称。

这是关于WordPress上传文件夹这个问题的一篇不错的文章。 https://www.digitalocean.com/community/questions/proper-permissions-for-web-server-s-directory