File Permission 755 vs 777: в чём разница и какие права ставить на сайте

File Permission 755 vs 777 — это сравнение двух типов прав доступа к файлам и папкам на сервере Linux. От этих прав зависит, кто может читать, изменять и запускать файлы сайта.

Главное правило: 755 обычно безопасно для папок, а 777 почти всегда опасно. Права 777 дают полный доступ всем пользователям системы, поэтому их не стоит использовать на рабочем сайте без крайней необходимости.

Quick Fix

  • Для папок сайта обычно используйте права 755.
  • Для файлов сайта обычно используйте права 644.
  • Не ставьте 777 на весь сайт.
  • Для WordPress безопасная схема: папки — 755, файлы — 644, wp-config.php600 или 640, если поддерживает хостинг.
  • Если сайт показывает 403 Forbidden, не спешите ставить 777. Сначала проверьте владельца файлов.
  • Исправить папки можно командой: find /path/to/site -type d -exec chmod 755 {} \;
  • Исправить файлы можно командой: find /path/to/site -type f -exec chmod 644 {} \;

Что такое file permissions

File permissions — это права доступа к файлам и папкам на сервере. Они определяют, кто может читать файл, изменять его или выполнять как программу.

В Linux есть три группы пользователей:

  • Owner — владелец файла;
  • Group — группа пользователей;
  • Others — все остальные пользователи системы.

Для каждой группы можно задать три типа доступа:

  • Read — чтение;
  • Write — запись и изменение;
  • Execute — выполнение или доступ к папке.

Цифры вроде 755, 777, 644 — это короткая запись этих прав.

Что означает 755

Права 755 означают:

  • владелец может читать, писать и выполнять;
  • группа может читать и выполнять;
  • остальные могут читать и выполнять.

В виде прав это выглядит так:

rwxr-xr-x

Расшифровка:

  • 7 = read + write + execute;
  • 5 = read + execute;
  • 5 = read + execute.

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

Что означает 777

Права 777 означают полный доступ для всех:

  • владелец может читать, писать и выполнять;
  • группа может читать, писать и выполнять;
  • остальные могут читать, писать и выполнять.

В виде прав это выглядит так:

rwxrwxrwx

Это самый открытый вариант прав доступа. Он разрешает любому пользователю системы изменять файл или папку.

На обычном сайте 777 почти никогда не нужен. Это может создать серьёзную угрозу безопасности.

File Permission 755 vs 777: главная разница

Права Кто может читать Кто может изменять Безопасность Когда использовать
755 Все Только владелец Безопаснее Папки сайта, WordPress, публичные директории
777 Все Все Опасно Только временно для диагностики, если нет другого варианта

Главная разница простая: 755 разрешает изменять файл только владельцу, а 777 разрешает изменять всем.

Поэтому 755 подходит для большинства папок сайта. А 777 может позволить вредоносному скрипту записать файл, изменить код сайта или загрузить malware.

Почему 777 опасно

Права 777 часто используют как быстрый способ “починить” ошибку доступа. Например, сайт не может загрузить картинку, плагин не может создать кэш, WordPress не может обновиться — и пользователь ставит 777 на папку.

Проблема в том, что это открывает запись всем пользователям системы. На shared-хостинге это особенно опасно.

Возможные последствия:

  • загрузка вредоносных PHP-файлов;
  • изменение файлов темы или плагинов;
  • взлом WordPress через уязвимый плагин;
  • добавление скрытых ссылок в файлы сайта;
  • рассылка спама с сервера;
  • подмена файлов сайта;
  • блокировка сайта хостингом;
  • падение доверия поисковых систем.

Если вы поставили 777 на весь сайт, лучше сразу вернуть безопасные права.

Какие права ставить для WordPress

Для большинства WordPress-сайтов подходит такая схема:

Объект Рекомендуемые права
Папки 755
Файлы 644
wp-config.php 600 или 640
.htaccess 644
wp-content/uploads 755
wp-content/cache 755 или права, рекомендованные хостингом

На некоторых хостингах wp-config.php с правами 600 может не читаться веб-сервером. Тогда используйте 640 или 644, если иначе сайт не работает.

Почему для файлов обычно используют 644

Права 644 означают:

  • владелец может читать и писать;
  • группа может читать;
  • остальные могут читать.

В виде прав:

rw-r--r--

Для обычных файлов сайта это достаточно. Веб-сервер может читать PHP, CSS, JS и изображения. Но посторонние пользователи не могут их изменять.

Поэтому стандартная безопасная комбинация такая:

Папки: 755
Файлы: 644

Как исправить права доступа на сайте

1. Подключитесь к серверу

Если у вас VPS, подключитесь по SSH:

ssh user@example.com

Если у вас обычный хостинг, используйте файловый менеджер или FTP/SFTP.

2. Перейдите в папку сайта

Пример для VPS:

cd /var/www/example.com

На хостинге путь может быть другим:

public_html
domains/example.com/public_html
htdocs

3. Поставьте 755 на папки

find . -type d -exec chmod 755 {} \;

Эта команда найдёт все папки внутри текущей директории и установит для них права 755.

4. Поставьте 644 на файлы

find . -type f -exec chmod 644 {} \;

Эта команда найдёт все файлы и установит для них права 644.

5. Защитите wp-config.php

Для WordPress попробуйте:

chmod 600 wp-config.php

Если сайт перестал работать, поставьте:

chmod 640 wp-config.php

Если и это не подходит для вашего хостинга, временно используйте:

chmod 644 wp-config.php

Как проверить текущие права

В SSH используйте:

ls -la

Пример результата:

drwxr-xr-x  5 user user 4096 wp-content
-rw-r--r--  1 user user  405 index.php
-rw-r--r--  1 user user 3310 wp-config.php

Здесь:

  • drwxr-xr-x означает папку с правами 755;
  • -rw-r--r-- означает файл с правами 644.

Буква d в начале означает directory, то есть папку.

Что делать, если сайт требует 777

Если сайт или плагин требует поставить 777, это почти всегда признак неправильного владельца файлов или настройки сервера.

Сначала проверьте владельца файлов:

ls -la

На Ubuntu/Debian для Apache или Nginx часто используется пользователь:

www-data

Можно изменить владельца файлов:

sudo chown -R www-data:www-data /var/www/example.com

Но на некоторых VPS правильнее, чтобы владельцем был ваш пользователь, а веб-сервер имел доступ через группу. Это зависит от настройки хостинга.

Не ставьте 777 как постоянное решение. Лучше исправить владельца и группу файлов.

755 vs 777 для папки uploads

Папка wp-content/uploads должна позволять WordPress загружать изображения. Но это не значит, что ей нужны права 777.

Обычно достаточно:

chmod -R 755 wp-content/uploads

Если загрузка файлов не работает, проверьте владельца:

ls -la wp-content

И при необходимости исправьте:

sudo chown -R www-data:www-data wp-content/uploads

На shared-хостинге лучше менять владельца через поддержку, если такой возможности нет в панели.

755 vs 777 для cache-папки

Плагины кэша могут создавать файлы в папках:

  • wp-content/cache
  • wp-content/uploads/cache
  • wp-content/wflogs
  • wp-content/upgrade

Если плагин просит 777, сначала попробуйте:

chmod -R 755 wp-content/cache

И проверьте владельца:

ls -la wp-content

Если владелец неправильный, права 755 могут не помогать. Нужно исправлять ownership, а не открывать доступ всем.

Типичные ошибки из-за неправильных permissions

403 Forbidden

Ошибка 403 Forbidden часто появляется, когда веб-сервер не может прочитать папку или файл.

Проверьте:

  • папки имеют права 755;
  • файлы имеют права 644;
  • владелец файлов правильный;
  • в папке есть индексный файл: index.php или index.html.

500 Internal Server Error

Ошибка 500 может появиться, если права слишком открытые или сервер запрещает выполнение файлов с такими правами.

Некоторые хостинги блокируют PHP-файлы с правами 777 ради безопасности.

WordPress не может загрузить изображение

Если WordPress пишет, что не может создать папку или загрузить файл, проблема часто в владельце папки uploads.

Проверьте:

ls -la wp-content

Права 777 могут решить проблему временно, но это небезопасно. Лучше исправить владельца.

Плагин не может создать cache-файл

Проверьте права и владельца папки кэша. Обычно нужны 755 и правильный пользователь веб-сервера.

Permission denied в логах

Если в логах есть Permission denied, посмотрите, к какому файлу или папке сервер не имеет доступа.

Для Apache:

sudo tail -n 100 /var/log/apache2/error.log

Для Nginx:

sudo tail -n 100 /var/log/nginx/error.log

Advanced Troubleshooting

Проверьте владельца файлов

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

Проверьте:

ls -la

Если файлы принадлежат root, а сайт работает от www-data, WordPress может не иметь права на запись.

Проверьте пользователя веб-сервера

Для Apache на Ubuntu/Debian обычно:

www-data

Для Nginx тоже часто:

www-data

Проверить пользователя Nginx можно так:

ps aux | grep nginx

Проверить Apache:

ps aux | grep apache

Проверьте PHP-FPM pool

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

Пример пути:

/etc/php/8.2/fpm/pool.d/www.conf

Внутри ищите строки:

user = www-data
group = www-data

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

Проверьте SELinux

На CentOS, AlmaLinux и Rocky Linux проблему может вызывать SELinux. Даже правильные права 755 и 644 могут не помочь, если контекст SELinux неправильный.

Проверить статус:

getenforce

Если включён Enforcing, проверьте контексты файлов:

ls -Z

Для веб-папок часто нужен контекст httpd_sys_content_t, а для папок с записью — httpd_sys_rw_content_t.

Проверьте shared hosting ограничения

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

Если хостинг требует 777 для работы обычного WordPress, это плохой знак. Нормальный хостинг должен работать с безопасными правами.

Как безопасно менять права через File Manager

Если у вас нет SSH, можно изменить права в панели хостинга.

  1. Откройте файловый менеджер.
  2. Перейдите в папку сайта.
  3. Выберите папки.
  4. Нажмите Permissions или Change permissions.
  5. Для папок поставьте 755.
  6. Для файлов поставьте 644.
  7. Не ставьте 777 на весь сайт.

Если нужно быстро проверить проблему, можно временно изменить права на конкретную папку, но после теста лучше вернуть безопасные значения.

Когда можно временно использовать 777

Права 777 можно использовать только временно для диагностики и только на конкретной папке, не на всём сайте.

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

После теста сразу верните безопасные права:

chmod 755 folder-name

Не оставляйте 777 на рабочем сайте.

Как проверить, есть ли 777 на сайте

На VPS выполните:

find /path/to/site -perm 0777 -print

Если команда нашла файлы или папки, проверьте, почему у них такие права.

Чтобы исправить папки:

find /path/to/site -type d -perm 0777 -exec chmod 755 {} \;

Чтобы исправить файлы:

find /path/to/site -type f -perm 0777 -exec chmod 644 {} \;

File Permission 755 vs 777: что выбрать

В большинстве случаев выбирайте 755 для папок и 644 для файлов.

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

Как предотвратить проблемы с правами доступа

  • Не загружайте файлы на сервер от пользователя root, если сайт работает от другого пользователя.
  • После миграции сайта проверяйте владельца файлов.
  • Используйте SFTP вместо небезопасного FTP.
  • Не ставьте 777 на папку public_html.
  • Не ставьте 777 на wp-content целиком.
  • Проверяйте права после восстановления из бэкапа.
  • Следите за логами Apache/Nginx.
  • Для WordPress держите папки 755, файлы 644.

Когда обращаться в поддержку хостинга

Обратитесь в поддержку, если:

  • WordPress требует 777 для загрузки файлов;
  • вы не можете изменить владельца файлов;
  • после установки 755 и 644 сайт показывает 403;
  • сайт был перенесён с другого хостинга и права сломались;
  • файлы принадлежат неправильному пользователю;
  • вы не знаете, какой пользователь запускает PHP;
  • файловый менеджер не сохраняет изменения прав.

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

FAQ

Что лучше: 755 или 777?

Для сайта почти всегда лучше 755 для папок. Права 777 опасны, потому что разрешают всем пользователям изменять файлы и папки.

Можно ли ставить 777 на WordPress?

Не стоит. Для WordPress обычно нужны права 755 для папок и 644 для файлов. Если WordPress просит 777, проверьте владельца файлов и настройки хостинга.

Какие права должны быть у wp-content?

Обычно для папки wp-content подходят права 755. Для файлов внутри — 644. Для папки uploads также обычно достаточно 755, если владелец файлов настроен правильно.

Почему сайт показывает 403 после изменения прав?

Возможно, у папок нет права execute, файлы принадлежат неправильному пользователю или веб-сервер не имеет доступа к директории. Проверьте права, владельца и логи сервера.

Что делать, если плагин требует 777?

Не оставляйте 777 постоянно. Проверьте владельца файлов, пользователя PHP-FPM и права на конкретную папку. Часто проблема решается через chown, а не через открытие прав для всех.

Вывод

File Permission 755 vs 777 — это вопрос безопасности сайта. 755 подходит для папок, потому что даёт доступ на чтение и выполнение, но не разрешает всем изменять файлы. 777 открывает полный доступ всем пользователям и может привести к взлому.

Для WordPress и большинства сайтов используйте простую схему: папки — 755, файлы — 644. Если сайт не работает без 777, ищите проблему в владельце файлов, группе, PHP-FPM или настройках хостинга.