Как я могу сделать свой файл.htaccess доступным для записи wp-администратором?


Мой провайдер изменил хостинг для моего блога Wordpress, и все перестало работать. Была проблема с DNS, но они ее решили, но затем каждая страница, кроме домашней, возвращала ошибку 404.

Когда я проверил страницу постоянных ссылок (/wp-admin/options-permalinks.php) в wp-admin, я увидел следующее:

Если бы ваш файл.htaccess был доступен для записи, мы могли бы сделать это автоматически, но это не так, это правила mod_rewrite, которые вы должны иметь в своем файле.htaccess. Нажмите в поле и нажмите CTRL + a, чтобы выбрать все.

Добавление того, что в нем указано (через файловый менеджер моего провайдера), устранило проблему, но заставило меня задуматься.

Я бы хотел, чтобы файл .htaccess был доступен для записи wp-администратору.

Я знаю, что файл должен не быть доступен для записи для всех, и я бы сохранил разрешения как можно более строгими, чтобы обеспечить безопасность, я просто заинтересован в том, чтобы сделать мою жизнь проще.

Однако я отмечаю, что разрешения на файл являются:

rw-r--r--

Итак, какие разрешения мне нужно установить, чтобы сделать файл доступным для записи wp-администратором, но не кем-либо и всеми? Или это какие-то другие разрешения на сервере, которые необходимо установить?

Я могу вручную вносить изменения через интерфейс файлового менеджера провайдера, так что это не значит, что я вообще не могу обновить файл. Просто это может стать болью, если мне придется продолжать это делать.

Author: ChrisF, 2014-06-08

2 answers

Краткая версия: Вы не можете.

Длинная версия: Технически этого можно достичь, но они ①, скорее всего, недоступны вам как пользователю на общем сервере, где у вас нет прав суперпользователя, и ② даже если бы они были, они поставляются с "ошибками", с которыми вы действительно не хотите иметь дело.

Прежде всего, если вы не являетесь системным администратором с правами суперпользователя, сомнительно, что у вас есть какая-либо надежда установить необходимые разрешения.

  • UNIX-система биты разрешений определяют, может ли каждый из вас, люди в вашей группе и любой другой человек читать, записывать и выполнять файлы. Учитывая этот набор параметров и тот факт, что вы и веб-сервер, скорее всего, не входите в одну группу, вы не можете использовать эти разрешения для установки значения, при котором вы и пользователь веб-сервера можете записать файл, но другие люди не могут. По определению вам придется изменить разрешения "мир" и... ты можешь посчитать.

    На случай, если ваш пользователь учетная запись и веб-сервер фактически работают в одной группе пользователей, вы должны серьезно начать сомневаться в безопасности вашего поставщика веб-услуг.

    Несколько менее безумный метод, который используют некоторые хосты, предоставляет вам специальный интерфейс для преобразования определенных файлов и папок, принадлежащих веб-серверу. Это выбор в пользу удобства, а не безопасности, который они делают, что делает его легким для людей, но к нему прилагаются определенные условия. В любом случае вы не сможете вручную отредактировать файл не меняя владельца обратно на себя.

  • Даже если вам предоставляется один или несколько способов разрешить программному обеспечению веб-сервера редактировать файл.htaccess, вам намного лучше не использовать их для этого. В среде общего хостинга вы должны понимать, что другие люди, кроме вас, ТАКЖЕ выполняют код в качестве пользователя веб-сервера. Если ваша установка Wordpress способна изменить ваш файл.htaccess, что может помешать wordpress следующих парней злонамеренно меняешь свой? Ну, теоретически, заседания open_base_dir PHP будут заключать его в тюрьму для чтения и записи внутри вашего DOCUMENT_ROOT, но, хотя модуль PHP достаточно хорошо справляется с этим, для провайдеров и небольших хостов довольно часто встречаются другие системы CGI, которые должным образом не заключены в тюрьму, или просто неправильно настроенные настройки сервера, которые позволяют другим пользователям на том же сервере связываться с чем-либо, что другие пользователи преобразовали в собственность веб-сервер.

Единственный технический способ действительно сделать это возможным - это настроить виртуальный хост, который фактически работает как вы при обслуживании вашего сайта (что на самом деле создает другие риски) или с ACL файловой системы - и, хотя это возможно, маловероятно, что ваш провайдер оснащен для их правильной настройки.

Таким образом, на самом деле вам лучше с точки зрения безопасности, поскольку wp-администратор не может писать в .htaccess. В любом случае это должно быть нечастой проблемой, обычно при изменении версии Wordpress или серверного программного обеспечения (например, переход с Apache 2.2 на 2.4 означал, что необходимо было обновить множество файлов.htaccess по всей сети, но на это уходили годы). Это не то, что должно меняться каждый раз, когда вы обновляете свой сайт, только если вы внесли архитектурные изменения и вам необходимо облегчить перенос старых URL-адресов на новые и т.д.

 0
Author: Caleb, 2014-06-15 05:41:02

В компьютерных файловых системах различные файлы и каталоги имеют разрешения, которые определяют, кто и что может читать, записывать, изменять и получать к ним доступ. Это важно, потому что WordPress может потребоваться доступ для записи в файлы в вашем каталоге wp-контента, чтобы включить определенные функции.

Но лучше оставить файл .htaccess недоступным для записи в world. .htaccess - это распределенный файл конфигурации, и именно так Apache обрабатывает изменения конфигурации для каждого каталога.

Http://codex.wordpress.org/htaccess

Сохранение файла .htaccess в качестве доступного для записи в мире также имеет свои последствия. В основном проблемы безопасности. Худшее, что может произойти в результате использования разрешений 777 для папки или даже файла, заключается в том, что если злоумышленник или организация смогут загрузить вредоносный файл или изменить текущий файл для выполнения кода, они получат полный контроль над вашим блогом, включая информацию о вашей базе данных и пароль.

Http://codex.wordpress.org/Changing_File_Permissions

Разрешения по умолчанию (umask 022)

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

Защищенные Разрешения

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

. разрешения htaccess

644> 604 - Бит, разрешающий владельцу группы разрешение на чтение файла.htaccess, был удален. 644 обычно требуется и рекомендуется для файлов.htaccess.

 0
Author: Abhineet Verma, 2014-06-08 17:28:28