File Permission 755 vs 777 — это сравнение двух типов прав доступа к файлам и папкам на сервере Linux. От этих прав зависит, кто может читать, изменять и запускать файлы сайта.
Главное правило: 755 обычно безопасно для папок, а 777 почти всегда опасно. Права 777 дают полный доступ всем пользователям системы, поэтому их не стоит использовать на рабочем сайте без крайней необходимости.
Quick Fix
- Для папок сайта обычно используйте права
755. - Для файлов сайта обычно используйте права
644. - Не ставьте
777на весь сайт. - Для WordPress безопасная схема: папки —
755, файлы —644,wp-config.php—600или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/cachewp-content/uploads/cachewp-content/wflogswp-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, можно изменить права в панели хостинга.
- Откройте файловый менеджер.
- Перейдите в папку сайта.
- Выберите папки.
- Нажмите Permissions или Change permissions.
- Для папок поставьте
755. - Для файлов поставьте
644. - Не ставьте
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 или настройках хостинга.
