Linux

Использование chmod для настройки прав доступа к файлам в Linux

В этом гайде вы узнаете, как использовать команду chmod для изменения прав доступа к файлам и директориям в Linux. Вы научитесь устанавливать права read, write, execute, а также решать типичные проблемы с правами.

Обновлено 17 июля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Ubuntu 22.04Debian 12Fedora 38Linux kernel 5.15+

Введение / Зачем это нужно

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

Требования / Подготовка

  • Любая современная дистрибутива Linux (например, Ubuntu 22.04, Debian 12, Fedora 38).
  • Доступ к терминалу с правами обычного пользователя (или sudo для системных файлов).
  • Базовое знание командной строки (ввод команд, работа с путями).

Никакого дополнительного программного обеспечения не требуется — chmod уже присутствует в любой системе.

Пошаговая инструкция

Шаг 1: Проверить текущие права

Перед изменением прав всегда смотрите, что у вас есть.

ls -l /home/user/project/script.sh

Первая строка показывает права в формате rwxr-xr-x. Здесь r — чтение, w — запись, x — выполнение.

Шаг 2: Изменить права с помощью числового режима

Числовой режим удобен для быстрой установки прав.

# Полные права для владельца, чтение+выполнение для группы и остальных
chmod 755 /home/user/project/script.sh
ЦифраВладелецГруппаОстальные
7rwxrwxrwx
6rw-rw-rw-
5r-xr-xr-x
4r--r--r--
0---------

Шаг 3: Изменить права с помощью символического режима

Символьный режим позволяет точно контролировать, кто что получает.

# Добавить выполнение только для владельца
chmod u+x backup.sh

# Предоставить чтение всей группе
chmod g+r config.json

# Удалить запись у всех
chmod a-w sensitive.txt

Синтаксис: chmod <кто><действие><разряд> <файл>.

  • u — владелец, g — группа, o — остальные, a — все.
  • + — добавить, - — убрать, = — установить точно.

Шаг 4: Применить права к директории

Для каталогов права влияют на доступ к файлам внутри.

chmod 755 /var/www/html

Рекомендуемый набор для публичной веб-папки — 755 (владелец может всё, остальные — читать и перечислять).

Шаг 5: Проверить результат

После изменений проверьте изменения:

ls -l /home/user/project/script.sh
# или
stat /home/user/project/script.sh

Если права не изменились, проверьте права владельца: whoami и id.

Шаг 6: Решить типичные проблемы

СимптомВероятная причинаРешение
chmod: невозможно выполнить операцию: файл не существуетОшибочный путь или опечаткаУдостоверьтесь в правильности пути, используйте realpath
chmod: неверный режимИспользованы цифры > 7 или недопустимые символыИспользуйте 0–7 для каждой категории
chmod: не удаётся определить группуНет прав на запись в каталогИспользуйте sudo для системных каталогов
chmod: не удаётся изменить режимФайл иммутабелен (например, /etc/shadow)Требуются права root (sudo)

Проверка результата

После установки прав попробуйте выполнить действие, которое требует этих прав:

# Чтение для всех
cat /home/user/project/script.sh

# Запись для владельца
echo "new line" >> /home/user/project/script.sh

# Выполнение скрипта
./script.sh

Если действия успешны, права настроены верно.

Возможные проблемы

  • Права не распространяются на подкаталоги – используйте chmod -R.
  • Сбой из-за неправильного формата – убедитесь, что режим указан восьмеричным числом или символами.
  • Неправильные права для веб-сервера – большинство серверов ожидают 644 для файлов и 755 для директорий.
  • Потеря прав после перезагрузки – убедитесь, что права установлены на файловой системе и не изменены владельцем.

Следуйте этим шагам, и вы сможете уверенно управлять правами доступа в Linux с помощью chmod.

Часто задаваемые вопросы

Как проверить текущие права файла?
Что делать, если chmod не изменяет права?
Как установить права 755 для всех файлов в папке?
Почему chmod не работает для директории?

Полезное

Проверить текущие права
Изменить права с помощью числового режима
Изменить права с помощью символического режима
Применить права к директории
Проверить результат
Решить типичные проблемы

Эта статья помогла вам решить проблему?