Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

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

Linux / DevOps

Правка прав в Linux: как сделать все папки 755, а файлы 644 через find

Обновлено: 27.08.2026 · Официальная документация ↗

Ошибка массового применения chmod -R 777

Новички в попытке решить проблемы с записью файлов на сайте (например, в WordPress или Bitrix) часто выполняют опасную команду chmod -R 777 /var/www/site. Это открывает критическую уязвимость: любой сторонний скрипт может изменить системные файлы. При этом попытка исправить права обратной командой chmod -R 644 приводит к тому, что папки перестают открываться (так как для перехода в папку в Linux требуется флаг исполнения +x, то есть 755).

Правильный стандарт прав для веб-серверов:

Тип объектаПравильные праваБуквенный видПочему именно так
Директории (Папки)755drwxr-xr-xРазрешает чтение и вход в папку, запись только владельцу.
Файлы644-rw-r--r--Разрешает чтение всем, запись владельцу, запуск скриптов заблокирован.

Идеальный способ раздельной установки прав через find

  1. Шаг 1. Переходим в корневую директорию сайта

    cd /var/www/my_site
  2. Шаг 2. Делаем ВСЕ папки 755

    Утилита find найдет только объекты с типом «директория» (-type d) и применит к ним chmod 755:

    sudo find . -type d -exec chmod 755 {} +
  3. Шаг 3. Делаем ВСЕ файлы 644

    Утилита найдет только обычные файлы (-type f) и установит им права 644:

    sudo find . -type f -exec chmod 644 {} +
  4. Шаг 4. Устанавливаем корректного владельца (www-data)

    sudo chown -R www-data:www-data /var/www/my_site
💡 Практика специалистов: Команда find . -type d -exec chmod 755 {} + — это золотой стандарт восстановления сайтов после взломов или некорректных правок. Запомните этот шаблон: он спасает от 90% ошибок типа 403 Forbidden и Permission Denied.

Частые вопросы (FAQ)

Почему после chmod 644 на папки сайт полностью ломается с ошибкой 403 Forbidden?

В Linux бит исполнения x (Execute) на директориях отвечает за возможность войти внутрь папки (перечислить файлы). Права 644 лишают веб-сервер бита x, поэтому папка становится недоступной.

В чем разница между {} + и {} \; в конце команды find?

Конструкция {} + работает в сотни раз быстрее, так как передает сразу пачку из сотен файлов в один вызов chmod, а {} \; вызывает команду chmod отдельно для каждого файла.

Какие права должны быть у конфигурационного файла с паролями базы (.env / wp-config.php)?

В целях максимальной безопасности файлам с секретными паролями баз данных выставляют еще более жесткие права: 600 или 640 (sudo chmod 600 .env).

Как сделать конкретный .sh скрипт исполняемым?

Используйте флаг добавления исполнения: chmod +x script.sh.

Полезные материалы
Рекомендуем