如何使我的.htaccess文件可由wp-admin写入?

时间:2014-06-08 作者:ChrisF

我的ISP更改了Wordpress博客的主机,一切都停止了。有一个DNS问题,但他们解决了这个问题,但除主页外的每个页面都返回了404错误。

当我查看permalinks页面时(/wp-admin/options-permalinks.php) 在wp admin中,我看到了以下内容:

如果您的。htaccess文件是可写的,我们可以自动执行此操作,但事实并非如此,这些是您应该在中包含的mod\\u重写规则。htaccess文件。在字段中单击,然后按CTRL+a组合键选择全部。

添加它列出的内容(通过我的ISP的文件管理器)修复了问题,但让我感到疑惑。

我想要的是.htaccess 文件对于wp admin是可写的。

我知道文件应该not 对每个人都是可写的,我会尽可能地限制权限以保证事情的安全,我只是想让我的生活更轻松。

但是,我注意到该文件的权限是:

rw-r--r--
那么,我需要设置哪些权限才能使文件可由wp admin写入,而不是由任何人和所有人写入?还是需要设置服务器上的其他权限?

我可以通过ISP的文件管理器界面手动进行编辑,这样就不会出现根本无法更新文件的情况。只是如果我必须继续这样做,那可能会很痛苦

2 个回复
最合适的回答,由SO网友:Caleb 整理而成

简短版本:你不能。

长版本:从技术上讲,这是可以实现的,但它们是① 在您没有根权限的共享服务器上,您可能无法作为用户使用,并且② 即使他们是,他们也会带来你真的不想处理的“陷阱”。

首先,如果您不是具有root权限的系统管理员,那么您是否有希望设置必要的权限是值得怀疑的。

UNIX权限位控制你们每个人、组中的人和任何人是否可以读、写和执行文件。考虑到这组选项以及您和web服务器可能不在同一组中的事实,您无法不使用这些权限来设置一个值,使您和web服务器用户可以写入文件,但其他人无法写入。根据定义,您必须更改“世界”权限和。。。你可以做数学题。

如果您的用户帐户和web服务器实际上运行在同一个用户组中,那么您应该开始认真怀疑web服务提供商的安全性。

有些主机采用的一种稍微不那么疯狂的技术是,它为您提供了一个特殊的界面,可以将特定的文件和文件夹转换为web服务器所有。这是一种方便,而不是他们所做的安全选择,这让人们很容易接受,但它附带了一些条件。在任何情况下,如果不将所有权更改回您自己,您将无法手动编辑文件。

即使提供了一种或多种方式让Web服务器软件编辑。htaccess文件,您的情况要好得多,而不是让他们来处理它。在共享托管环境中,您必须意识到除您之外的其他人也在以web服务器用户的身份执行代码。如果您的Wordpress安装能够更改您的。htaccess文件,如何阻止下一个家伙的wordpress恶意更改你的?从理论上讲,PHP的open\\u base\\u dir sittings会让它在文档根目录中读写东西,但是,虽然PHP模块在实施这一点上做得相当好,但对于ISP和小型主机来说,很常见的情况是其他CGI系统没有被正确监禁,或者直接未配置服务器设置,允许同一服务器上的其他用户处理任何其他用户转换为Web服务器所有的内容。

真正做到这一点的唯一技术方法是使用虚拟主机设置,该设置在为您的站点提供服务时实际作为您运行(这实际上会带来其他风险)或使用文件系统ACL,虽然您的ISP不太可能正确配置这些设置。

总之,在安全方面,wp admin无法写入时,您实际上会更好。htaccess。无论如何,这应该是一个不常见的问题,通常是在Wordpress或服务器软件的版本更改上(例如,从Apache 2.2切换到2.4意味着需要更新网络上的大量.htaccess文件,但这是多年来才出现的)。这并不是每次更新站点时都应该更改的内容,除非您进行了架构更改,并且需要方便地将旧URL迁移到新URL等。

SO网友:Abhineet Verma

在计算机文件系统上,不同的文件和目录具有指定谁和什么可以读、写、修改和访问它们的权限。这一点很重要,因为WordPress可能需要访问wp内容目录中的文件才能启用某些功能。

但是,最好还是留下来。htaccess文件不可写入world。这个htaccess是一个分布式配置文件,是Apache处理每个目录的配置更改的方式。

http://codex.wordpress.org/htaccess

保持。htaccess文件作为世界可写文件也有其自身的后果。主要是安全问题。如果对文件夹甚至文件使用777权限,最糟糕的情况是,如果恶意破解者或实体能够上传一个不正当的文件或修改当前文件以执行代码,他们将完全控制你的博客,包括拥有你的数据库信息和密码。

http://codex.wordpress.org/Changing_File_Permissions

Default Permissions (umask 022)

644 -rw-r--r--  /home/user/wp-config.php
644 -rw-r--r--  /home/user/cgi-bin/.htaccess

Secured Permissions

600 -rw-------  /home/user/wp-config.php
604 -rw----r--  /home/user/cgi-bin/.htaccess

.htaccess permissions

644>604-允许的组所有者的位。htaccess文件读取权限已删除。644通常是必需的,建议用于。htaccess文件。

结束

相关推荐

在wp-admin后端区域定制WordPress更新通知

有没有办法在后台管理区定制wordpress更新通知?我想这样做,这样我就可以改变Please update now 到Please contact now 并链接到其他URL。因此,运行网站的人不会更新网站,因为他们不知道如何备份网站。我已经找到了在线隐藏通知的方法,但没有办法实际编辑它。