SSH vs Wordpress

时间:2015-12-03 作者:CyborgDroid

要通过SSH修改文件,我需要将文件归ubuntu所有:www-data。但是为了让wordpress能够安装或更新插件,我需要拥有www-data拥有的文件:www-data。除了手动添加插件之外,还有什么方法可以随时更改所有权?我尝试将文件/文件夹权限设置为664和775、2664和2775,但没有帮助。不知道644和664或775和755之间的区别是什么,如果组中的用户无论如何都不允许做这些事情。

尝试通过前端安装插件时收到的消息:要执行请求的操作,WordPress需要访问您的web服务器。请输入您的FTP凭据以继续。如果您不记得您的凭据,请与您的web主机联系。

4 个回复
SO网友:sMyles

在这样做之前,检查您实际设置的权限总是一个好主意。

644 = 所有者读/写、组读、其他读664 = 所有者读/写、组读/写、其他人读

4 - 阅读2 - 写1 - 处决

从644以上的序列可以看出,第一个数字6是4+2,读+写。总是这样OWNER/GROUP/OTHERS, 所以第一个数字所有者,第二个组,等等。

将文件设置为664,将目录设置为775。实际上,几年前我编写了一个脚本来自动执行此操作(您可能需要将644更改为664,将755更改为775):https://github.com/tripflex/scripts/blob/master/chmodwp

您需要为组www数据设置写入权限,这就是为什么要使用664和775。

只有在通过SSH编辑文件时才会出现此问题吗?如果问题出在用户/组身上,您可以做几件事,包括使用runuser

http://www.cyberciti.biz/open-source/command-line-hacks/linux-run-command-as-different-user/

可以在编辑文件时设置别名,如果您正在这样做的话。

您遇到的问题是WordPress无法写入服务器上的文件。确保您的父目录wwwpublic_html 设置为右侧user:group 并具有正确的权限。

SO网友:pixeline

在搞乱您的服务器权限之前,我会首先尝试通过FTP使用自动更新。

将此添加到您的wp配置中。php文件:

/*
    See: http://codex.wordpress.org/Editing_wp-config.php#Override_of_default_file_permissions for alternative methods.
*/
define(\'FS_METHOD\', \'direct\'); // try also \'ftpext\' or \'ftpsockets\'
define(\'FTP_USER\', \'YOUR FTP LOGIN\');
define(\'FTP_PASS\', \'YOUR FTP PASSWORD\');
define(\'FTP_HOST\', \'YOUR FTP HOST (without http:// or ftp://)\');
define(\'FTP_SSL\', false);

SO网友:Daniel

不知道644和664或775和755之间的区别是什么,如果组中的用户无论如何都不允许做这些事情。

您可以获得三种类型的权限:读取(r)值4-查看文件内容,写入(w)值2-更改文件内容,执行(x)值1-将文件作为程序运行。

所以对于rw- 指所有者。您有-6,这意味着您将得到三个值,它们的总和必须为6 4+2=6,这意味着所有者可以查看内容并可以写入文件和任何其他修改,因此如下所示rw-.

接下来是组所有者,组所有者用4进行读取,用6进行读写。

其他所有人都由最后一位数字表示,即不是所有者或组所有者的任何人。

所以4意味着其他人只能按原样读取文件。

So 644=rw-r--r--664=rw-rw-r--

文件权限在WordPress上非常重要

文件权限应为664=rw-rw-r-- 这是对VPS而非共享主机的权限。

文件权限为664,目录权限为775。所有者是您的用户,组所有者是web服务器www-data.

这就是您在VPS上设置权限的方式。

至于为什么,它与称为最小特权原则的安全原则有关,您可以在此处了解更多关于为什么和最小特权原则的信息:https://codex.wordpress.org/Hardening_WordPress

SO网友:Mark Kaplun

你要么想高度安全,要么不想。如果安全性对您很重要,那么您就不会让web服务器写入除上传目录之外的任何地方,这意味着没有自动更新(出于其他原因,IMO也认为这是一个好主意)。如果您确实需要该功能,只需使用veru复杂密码设置FTP服务器。

相关推荐

Testing Plugins for Multisite

我最近发布了一个WordPress插件,它在单个站点上非常有效。我被告知该插件在多站点安装上不能正常工作,我理解其中的一些原因。我已经更新了代码,现在需要一种方法来测试更新后的代码,然后才能转到实时客户的多站点安装。我有一个用于测试的WordPress安装程序的单站点安装,但需要在多站点安装上进行测试。根据我所能找到的唯一方法是在网络上至少有两个站点来安装整个多站点安装,以测试我的插件。设置WordPress的整个多站点安装是插件开发人员的唯一/首选方式,还是有更快的测试环境可用。