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

Урок 79 из 741
Автор: Роберт Басыров
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
3 из 5
Просмотров: 98795
Дата изменения: 19.11.2024

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

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

Результат должен быть таким: для пользователя, под которым запущен Apache Apache HTTP-сервер — свободный веб-сервер. Apache является кроссплатформенным ПО, поддерживает операционные системы Linux, BSD, macOS, Microsoft Windows, Novell NetWare, BeOS.

Основными достоинствами Apache считаются надёжность и гибкость конфигурации. Он позволяет подключать внешние модули для предоставления данных, использовать СУБД для аутентификации пользователей, модифицировать сообщения об ошибках и т. д.

Подробнее...
, нужны права на чтение/запись на все файлы и папки, начиная от корня сайта. При этом на разделяемом хостинге другие пользователи на этой же машине не должны иметь права читать/изменять ваши файлы. Также желательно, чтобы файлы, закачанные по FTP FTP (англ. File Transfer Protocol) — протокол передачи файлов по сети. Протокол построен на архитектуре «клиент-сервер» и использует разные сетевые соединения для передачи команд и данных между клиентом и сервером. Пользователи FTP могут пройти аутентификацию, передавая логин и пароль открытым текстом, или же, если это разрешено на сервере, они могут подключиться анонимно. Можно использовать протокол SSH для безопасной передачи, шифрующей (скрывающей) логин и пароль, а также содержимое файла.

Подробнее...
, могли быть перезаписаны из скрипта.

Проблема в том, что у каждого хостинг-провайдера своя политика безопасности и свои настройки: одни ограничивают доступ к чужим файлам даже при праве доступа 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", 0644);
define("BX_DIR_PERMISSIONS", 0755);

Дополнительно


Нам жаль это слышать… Но мы постараемся быть лучше!

Мы благодарны Вам за помощь в улучшении документации.

Спасибо, мы рады что смогли помочь Вам. Ниже Вы можете оставить свой отзыв или пожелание :)
Мы стараемся сделать документацию понятнее и доступнее,
и Ваше мнение важно для нас
Курсы разработаны в компании «1С-Битрикс»