我可以访问托管许多wordpress博客的服务器。最初上传文件夹的权限设置为777(递归),但这导致我们的服务器和上传的恶意文件出现问题,因为我们的服务器被列入黑名单。
我删除了uploads文件夹下的所有PHP文件,并将权限设置为755。
现在的问题是wordpress博客/网站的管理员用户无法上传媒体文件。
请指导我可以做的事情,以便他们可以上传文件(图片或视频)。
我们可以设置一些在使用wordpress admin上传文件时会询问FTP详细信息的内容。我可以为此创建FTP用户。
请指南。
答案 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