Права на файлы в Linux: что значат rwx, 644 и 755
У каждого файла и папки на сервере есть владелец и права: кто может читать, менять и запускать. Из-за неверных прав сайт отвечает 403, скрипт не запускается, а команды пишут Permission denied. Разберём, как читать права и какие ставить.
Содержание 9
Кто и что может делать с файлом
Права в Linux отвечают на два вопроса: кому и что можно делать с файлом. «Кому» — это три категории:
- владелец (по-английски user, буква u) — пользователь, которому принадлежит файл;
- группа (group, буква g) — пользователи, которые входят в группу файла;
- остальные (others, буква o) — все прочие пользователи и программы на сервере.
«Что можно» — три права: чтение (r), запись (w) и выполнение (x). Для каждой категории они задаются отдельно: например, владелец может менять файл, а остальные — только читать.
Администратора сервера — пользователя root — права не ограничивают: он может читать и менять файлы, даже если права это запрещают, а запускать — те, у которых право x есть хотя бы у одной категории. Команды с sudo выполняются от его имени.
Что значат r, w и x
| Буква | Для файла | Для папки |
|---|---|---|
| r — чтение | Открыть файл и прочитать его | Посмотреть список файлов в папке |
| w — запись | Изменить содержимое файла | Создавать, удалять и переименовывать файлы в папке |
| x — выполнение | Запустить файл как программу или скрипт | Войти в папку и открыть файлы внутри неё |
Для папок важнее всего право x. Без него не открыть файл внутри папки, даже если у самого файла право на чтение есть. Поэтому сайт отвечает 403, когда у одной из папок на пути к нему нет x для остальных: nginx не может до файлов добраться.
Создать, удалить или переименовать файл можно, если есть право w на папку, в которой он лежит. Права самого файла на это не влияют.
Как посмотреть права: ls -l
Команды для сервера вводятся после подключения к нему по SSH (как подключиться). Введите команду с путём к папке:
ls -l /var/www/example.comОтвет будет похож на этот:
total 8
drwxr-xr-x 2 ivan ivan 4096 Oct 10 12:00 images
-rw-r--r-- 1 ivan ivan 1520 Oct 10 12:00 index.htmlСтрока total служебная, её можно пропустить. Разберём строку файла index.html:
| Часть | Что значит |
|---|---|
- | Тип: - — файл, d — папка, l — ссылка на другой файл |
rw- | Права владельца: читать и менять |
r-- | Права группы: только читать |
r-- | Права остальных: только читать |
1 | Число ссылок на файл, его можно не смотреть |
ivan | Владелец |
ivan | Группа |
1520 | Размер в байтах |
Oct 10 12:00 | Дата и время последнего изменения |
index.html | Имя |
Дефис на месте буквы значит, что этого права нет. В строке папки images — drwxr-xr-x — владелец может всё, а группа и остальные — смотреть список файлов и заходить в папку.
Чтобы увидеть права самой папки, а не файлов в ней, добавьте ключ -d:
ls -ld /var/www/example.comПрава числом, владельца и группу одной строкой покажет команда stat:
stat -c '%a %U:%G %n' /var/www/example.com/index.htmlОтвет: 644 ivan:ivan /var/www/example.com/index.html — права, владелец, группа и путь к файлу.
Права числами: 644, 755 и другие
Права можно записать тремя цифрами: первая — для владельца, вторая — для группы, третья — для остальных. Каждая цифра — сумма прав:
- 4 — чтение (r);
- 2 — запись (w);
- 1 — выполнение (x);
- 0 — ничего.
Например, 6 = 4 + 2 — читать и менять, 5 = 4 + 1 — читать и запускать, 7 = 4 + 2 + 1 — всё сразу.
| Число | Буквами | Что значит | Где встречается |
|---|---|---|---|
| 644 | rw-r--r-- | Владелец меняет, остальные читают | Файлы сайта |
| 755 | rwxr-xr-x | Владелец может всё, остальные читают и заходят | Папки сайта, скрипты |
| 600 | rw------- | Читать и менять может только владелец | Закрытый ключ SSH, файлы с паролями |
| 700 | rwx------ | Всё может только владелец | Папка ~/.ssh |
| 640 | rw-r----- | Владелец меняет, группа читает, остальным нельзя | Файлы сайта, если их нужно скрыть от других пользователей сервера |
| 440 | r--r----- | Владелец и группа только читают, остальным нельзя | wp-config.php |
| 777 | rwxrwxrwx | Все могут всё | Не ставьте — ниже объяснено почему |
Права пишут и четырьмя цифрами: 0755, 2775. Первая из четырёх отвечает за особые режимы: 4 — setuid, 2 — setgid, 1 — sticky. Файлам сайта они не нужны, у них первая цифра 0 — её можно не писать.
Почему нельзя ставить 777
При правах 777 менять файл может любой пользователь и любая программа на сервере. Если на сервере взломают один сайт или плагин, через него перепишут и ваши файлы. Справка WordPress запрещает ставить 777 любой папке — даже папке загрузок.
Если без 777 что-то не работает, дело во владельце: программе, которая пишет в папку, нужно стать её владельцем, а не давать права всем. Как это сделать — в инструкции Права на файлы сайта на VPS.
Как поменять права и владельца
- Команда chmod меняет права:
chmod 644 index.html. - Команда chown меняет владельца и группу:
sudo chown ivan:ivan index.html. - Права на файлы сайта на VPS — пошагово: какие права и какого владельца поставить сайту.
На обычном хостинге без доступа к терминалу права меняют в файловом менеджере панели хостинга. Если не нашли, где это меняется в панели, напишите в поддержку хостинга: пришлите текст ошибки и адрес страницы.
Ошибки и как их исправить
| Сообщение | Что случилось | Как исправить |
|---|---|---|
-bash: ./script.sh: Permission denied | У скрипта нет права x | Разбор |
Permission denied у touch, cp и других команд | Нет права записи в файл или папку | Разбор |
Operation not permitted у chmod и chown | Файл принадлежит другому пользователю | Разбор |
| Сайт отвечает 403 Forbidden | nginx не может прочитать файлы сайта | Разбор |
Unable to create directory в WordPress | PHP не может писать в папку загрузок | Разбор |
UNPROTECTED PRIVATE KEY FILE в SSH | Закрытый ключ открыт другим пользователям | Разбор |
Команды сверены со справкой Ubuntu 24.04, тексты ошибок — с исходным кодом coreutils 9.4 и bash 5.2.
Источники
- Руководство GNU Coreutils: Mode Structure — что значат r, w и x для файлов и папок.
- Справка chmod для Ubuntu 24.04 — буквы ugoa, rwxX, права числом и ключи -R, -v и -c.
- Справка ls для Ubuntu 24.04 — ключи -l и -d.
- Справка stat для Ubuntu 24.04 — формат -c и поля %a, %U, %G и %n.
- Справка Linux: path_resolution(7) — право x на каждую папку пути и права root.
- WordPress: права на файлы — папкам 755 или 750, файлам 644 или 640, wp-config.php 440 или 400, 777 не ставить.
Сверено 10 октября 2026 года.
Что почитать дальше
Проверено и обновлено: 10.10.2026