Просмотров: 16614 (Статистика ведётся с 06.02.2017)
Дата последнего изменения: 10.09.2018
Анна Кокина
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

Права на файлы

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

Результат должен быть таким: нужны права на чтение/запись из скрипта на все файлы и папки, начиная от корня сайта, для пользователя, под которым запущен Apache. При этом на разделяемом хостинге другие пользователи на этой же машине не должны иметь права читать ваши файлы или писать в них из своих скриптов. Также желательно, чтобы файлы, закачанные по FTP, могли быть перезаписаны из скрипта.

Проблема в том, что у каждого хостинг-провайдера своя политика безопасности и свои настройки: одни ограничивают доступ к чужим файлам даже при 777 (право доступа), другие запускают процесс Apache под своим пользователем для каждого виртуального хоста, и т.д.

Поэтому вопрос необходимо решать с хостинг-провайдером.


Проблемы с неправильными правами и их решение

Unix/Linux - многопользовательская система, это значит, что в системе одновременно могут работать несколько пользователей в своих папках со своими файлами. Соответственно, разные пользователи имеют разные права на доступ к файлам и папкам.

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

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

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

Наиболее часто встречаемые проблемы, связанные с правами на файлы и папки:

  • При изменении файлов через FTP не удается сохранить изменения
  • Файлы загружаются через ftp, но при попытке их изменения в продуктах Bitrix Framework появляется ошибка записи
Примечание: Установка прав через клиент ftp с поддержкой рекурсивного изменения прав на папки не является хорошим вариантом. Потому что, например, для изменения прав на 100 файлов потребуется отправить специальную команду как минимум 100 раз (если есть подпапки - то ещё и для них). В дополнение к этому передаётся еще и множество служебной информации. В итоге эта операция может занять довольно продолжительное время даже при хорошем канале Интернет.

Обратите внимание:
  • чтобы избежать проблем с правами при установке продукта - лучше всего воспользоваться скриптом BitrixSetup. Он скачает и распакует дистрибутив с нашего сайта, при этом файлы будут принадлежать веб-серверу и проблем при работе не возникнет;
  • ftp и ssh сервисы в большинстве случаев позволяют авторизоваться под одним и тем же пользователем, значит можно закачать файл через ftp, а изменить права через ssh;
  • пользователь может изменить права только на свои файлы. Это значит, что если вы не можете изменить файл непосредственно в системе, то не стоит пытаться применять веб скрипт. Права необходимо изменять через ftp/ssh. И наоборот;
  • панель управления на хостинге чаще всего с целью безопасности работает под третьим пользователем, поэтому в борьбе с правами она скорее всего не поможет.


Установка прав на создаваемые Bitrix Framework файлы

Права, с которыми создаются файлы и папки, вы можете установить в файле /bitrix/php_interface/dbconn.php:

define("BX_FILE_PERMISSIONS", 0664);
define("BX_DIR_PERMISSIONS", 0755);


41


Курсы разработаны в компании «1С-Битрикс»