Главная » Безопасность » Права на файлы и папки Битрикс: правильные chmod

Права на файлы и папки Битрикс: правильные chmod

Правильные права доступа на сайте Битрикс: 755 для каталогов, 644 для файлов, 600 для паролей подключения

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

Как читать права

Права в Unix-подобных системах записываются тремя цифрами — для владельца, группы и остальных пользователей. Каждая цифра складывается из трёх флагов:

ФлагЗначениеДля файлаДля каталога
4 (r)ЧтениеОткрыть и прочитатьПосмотреть содержимое
2 (w)ЗаписьИзменить содержимоеСоздавать и удалять файлы внутри
1 (x)ВыполнениеЗапустить как программуЗайти внутрь каталога

Права 755 означают: владельцу — всё (7 = 4+2+1), группе и остальным — чтение и выполнение (5 = 4+1).

Правильные значения для сайта на Битрикс

ОбъектПраваКомментарий
Обычные каталоги755Владелец управляет, остальные читают
Обычные файлы644Владелец редактирует, остальные читают
Каталоги для загрузки файлов755Веб-сервер должен иметь право писать как владелец
Файлы с паролями600dbconn.php, .settings.php — только владелец
Исполняемые скрипты обслуживания700Только владелец, без доступа даже на чтение остальным

Ключевое условие для корректной работы этой схемы — владелец файлов должен совпадать с пользователем, от которого работает веб-сервер. Без этого совпадения даже правильные права 755/644 не дадут PHP писать туда, куда нужно, и придётся либо менять владельца, либо ослаблять права для группы или всех — второе менее желательно.

Нужна помощь с Битрикс?





    Массовая установка прав

    # каталоги — 755
    find /home/site/public_html -type d -exec chmod 755 {} \;
    
    # файлы — 644
    find /home/site/public_html -type f -exec chmod 644 {} \;
    
    # отдельно закрыть файлы с паролями
    chmod 600 /home/site/public_html/bitrix/php_interface/dbconn.php
    chmod 600 /home/site/public_html/bitrix/.settings.php

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

    Почему 777 — плохое решение

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

    Установка 777 «чтобы заработало» временно решает симптом — ошибку записи или доступа, — но открывает путь для последующей компрометации. Правильное решение почти всегда — исправить владельца файлов, а не ослаблять права до предела.

    Проверка текущих прав

    # посмотреть права каталога и его содержимого
    ls -la /home/site/public_html/upload/
    
    # найти файлы с правами 777 по всему сайту
    find /home/site/public_html -perm 777 -type f

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

    Права и загрузка файлов через админку

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

    Решается это не ослаблением прав, а приведением владельца файлов к пользователю, от имени которого работает веб-сервер, — на большинстве современных хостингов это делается одной командой chown для всей структуры сайта.

    Частые ошибки

    • Права 777 на весь сайт «для надёжности». Открывает возможность выполнить произвольный код через загруженный файл.
    • Файлы с паролями доступны на чтение всем. Пароль от базы данных виден любому, кто получит доступ к файловой системе.
    • После смены хостинга владелец файлов не проверен. Правильные права есть, но сайт всё равно не может писать в свои же папки.
    • Проверка прав не входит в регулярный аудит. Временное ослабление для отладки забывают вернуть обратно.

    Итог

    Базовая формула для сайта на 1С-Битрикс — 755 для каталогов, 644 для файлов, 600 для файлов с паролями подключения к базе. Права 777 не решают проблему доступа правильно — они лишь маскируют её, одновременно открывая путь для компрометации сайта. Если после установки корректных прав что-то перестаёт работать, в девяти случаях из десяти дело не в самих правах, а в несовпадении владельца файлов с пользователем веб-сервера.

    Нужна помощь с Битрикс?

    Исправим ошибку, доработаем сайт, ускорим Битрикс или поможем разобраться с проблемой.

    Услуги
    Инструменты
    База знаний