如何设置WordPress的上传权限?

我在共享主机(CentOS)上运行WordPress的网站。 只有在将上传目录设置为不安全的777时,才能通过wordpress上传。

上传目录由用户和组psacln(我们在服务器上使用plesk)拥有。

在googlin周围仍然不明白我该怎么做,使用户从wordpress上传没有设置目录777?

谢谢

该目录需要由PHP进程运行的同一用户拥有。 如果你在apache下使用PHP,这个用户一般是apache。

你可以通过检查httpd:

[user@host ~]$ ps aux | grep httpd 

你会得到一个类似于这样的输出:

 [user@host ~]$ ps aux | grep nginx root 4774 0.0 0.3 11204 3288 ? Ss 12:20 0:00 /usr/sbin/httpd apache 4776 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd apache 4777 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd apache 4778 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd apache 4779 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd apache 4780 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd apache 4781 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd apache 4782 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd apache 4783 0.0 0.1 11204 2076 ? S 12:20 0:00 /usr/sbin/httpd root 4787 0.0 0.0 5500 716 pts/1 S+ 12:20 0:00 grep httpd 

在这里,我正在运行Apache编译为模块的PHP,所以将权限更改为“apache”将解决您的问题,并允许您将权限重置为755或700,如果您真的是安全意识的话:

 [user@host ~]$ chown apache /path/to/upload/dir [user@host ~]$ chmod 755 /path/to/upload/dir 

根据你的评论,你可以添加apachepsacln到同一个组,改变组的所有权和chmod它的方式

 [user@host ~]$ sudo groupadd web [user@host ~]$ sudo usermod -G web apache [user@host ~]$ sudo usermod -G web psacln [user@host ~]$ chgrp web /path/to/upload/dir [user@host ~]$ chmod 070 /path/to/upload/dir 

您也可以使用575权限(所有者,组,其他)

我正在使用这个简单的脚本在文件系统上设置所有正确的权限,以保持WordPress安装尽可能安全,但仍允许从Web服务器上传。

 #!/bin/bash PATH=/bin:/usr/bin WEBROOT="/var/www/www.example.org" UPLOADS="${WEBROOT}/wp-content/uploads" chown -R nobody:nogroup ${WEBROOT} find ${WEBROOT} -type d -exec chmod 0555 {} \; find ${WEBROOT} -type f -exec chmod 0444 {} \; chown nobody:www-data ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz chmod 0464 ${WEBROOT}/sitemap.xml ${WEBROOT}/sitemap.xml.gz chown -R nobody:www-data ${UPLOADS} find ${UPLOADS} -type d -exec chmod 2575 {} \; find ${UPLOADS} -type f -exec chmod 0464 {} \; 

如果我想升级WordPress或任何插件或主题,我只需运行

 chmod -R 0777 /var/www/www.example.org 

之后是更新。 当我完成升级时,立即运行第一个脚本来重新设置正确的权限。

使用777或添加Apache / HTTP /用户权限,并允许文件修改是不安全的。

不要直接下载,只能使用ftp或SFTP访问进行升级。 通过这种方式,该网站只有一个读取/执行的文件访问权限(如果你以前不做一个该死的777)。

为了安全的权利pipe理,使用WSD安全扫描器插件来testing你的WP是否安全。