Linux

Полный гайд по правам доступа к файлам Linux: chmod, chown и советы

Linux-файлы управляются тремя уровнями разрешений: чтение, запись и выполнение. В этом гайде вы узнаете, как просматривать, изменять и устранять проблемы с правами доступа с помощью команд chmod, chown и ls -l.

Обновлено 9 августа 2026 г.
15-20 мин
Средняя
FixPedia Team
Применимо к:Ubuntu 22.04 LTSDebian 12Fedora 38CentOS Stream 9

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

Linux использует трёхбитовую систему разрешений для каждого файла: чтение (r), запись (w) и выполнение (x). Понимание того, как работают эти разрешения, позволяет безопасно обрабатывать данные, защищать конфиденциальную информацию и автоматизировать задачи с помощью скриптов. В этом гайде вы узнаете, как просматривать текущие права, изменять их с помощью chmod и chown, а также решать типичные проблемы, связанные с доступом.

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

  • Доступ к терминалу (SSH, VNC или локальная консоль).
  • Базовое знакомство с базовыми командами Linux (ls, cd, cat).
  • Для изменения владельца или критически важных файлов могут потребоваться права администратора (sudo).
  • Дистрибутивы: Ubuntu 22.04 LTS, Debian 12, Fedora 38 или CentOS Stream 9 (команды идентичны во всех основных дистрибутивах).

Шаг 1: Просмотр текущих разрешений

Первым делом вам нужно увидеть, какие права уже установлены. Команда ls -l выводит подробный список, в котором каждая позиция описывает владельца, группу и три набора разрешений.

Команда ls -l

# Пример: список файла mydata.txt
ls -l /home/user/mydata.txt

Вывод будет выглядеть так:

-rw-r--r-- 1 user staff 2048 Jan 15 10:30 mydata.txt
  • - означает обычный файл.
  • rw- для владельца → права чтения и записи.
  • r-- для группы и других → только чтение.

💡 Совет: Сохраните этот вывод в текстовом файле (ls -l > permissions.txt), чтобы иметь снимок прав для последующего анализа.

Шаг 2: Изменение прав с помощью chmod

chmod позволяет изменять набор разрешений. Вы можете использовать символический режим (интуитивно понятный) или числовой режим (быстрый для стандартных изменений).

Символический режим

# Добавить чтение для группы
chmod g+r /path/to/file

# Удалить запись у других пользователей
chmod o-w /path/to/file

# Добавить выполнение владельцу (создание исполняемого скрипта)
chmod u+x /path/to/script.sh

Числовой режим (опционально)

# 644 = rw-r--r-- (чтение для всех, запись только для владельца)
chmod 644 /path/to/file

# 750 = rwxr-x--- (выполнение для владельца, чтение для группы)
chmod 750 /path/to/script.sh

⚠️ Важно: Изменение прав на слишком открытые (777) может создать уязвимость. Используйте их только временно для отладки.

Шаг 3: Изменение владельца и группы с помощью chown

Иногда файл должен принадлежать другому пользователю или группе, например, после переноса ответственности. chown изменяет владельца и группу одновременно.

# Перевести файл к alice в группе staff
sudo chown alice:staff /path/to/file

# Только изменить владельца (группа остается без изменений)
sudo chown alice /path/to/file

# Только изменить группу (владелец остается без изменений)
sudo chgrp newgroup /path/to/file

💡 Совет: Используйте sudo, если вы не root. Без sudo вы сможете изменять только файлы, которыми владеете.

Шаг 4: Решение распространенных проблем с правами

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

  • Permission denied при чтении/записи
    • Проверьте ls -l. Убедитесь, что у вас есть соответствующее разрешение (r для чтения, w для записи).
    • Если вы не владеете файлом, добавьте разрешения: chmod u+r+w /path/to/file.
  • Operation not permitted при удалении
    • Возможно, у вас нет права записи (w) или файл помечен как только для чтения (chmod 444).
    • Снимите ограничение: chmod u+w /path/to/file затем повторите удаление.
  • No such file or directory после chmod
    • Убедитесь, что путь корректен (/home/user/file.txt, а не /home/user/file).
  • chown: невозможно разрешить '<user>': Пользователь не существует
    • Проверьте, что пользователь/группа существуют (id <user>). Создайте, если необходимо (sudo adduser).

🔎 Полезная команда: find /path -type f -perm /o=w -ls найдёт все файлы, доступные для записи другими пользователями.

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

После внесения изменений подтвердите, что всё работает:

# Повторный просмотр разрешений
ls -l /path/to/file

# Попытка чтения (если файл текстовый)
cat /path/to/file

# Попытка записи (создать временный файл)
touch /path/to/newfile

# Проверка владельца
stat -c "%U:%G" /path/to/file

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

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

  • Смешивание символического и числового режимов – используйте последовательные команды (chmod u+x file затем chmod 755 file), чтобы избежать непредвиденных изменений.
  • Забывание использовать sudo – это приводит к ошибке chown: невозможно разрешить.... Всегда запускайте команды с elevated правами, если изменяете системные файлы.
  • Неправильный порядок аргументов в chown – синтаксис user:group. Ошибка chown file user group работает только в GNU coreutils, но может вызвать путаницу.
  • Игнорирование umask – новые файлы получают права, ограниченные маской umask. Проверьте текущую маску (umask), если unexpected разрешения появляются.
  • Неправильное использование chmod 777 – это открывает файл для всех пользователей, что создаёт уязвимость безопасности. Используйте только для временных файлов, затем восстановите более строгие права.

Теперь у вас есть полный набор инструментов для управления правами доступа к файлам в Linux и устранения распространённых проблем. Экспериментируйте осторожно и помните: правильные права — это основа безопасной системы.

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

Почему я получаю ошибку «Доступ запрещён» при чтении файла?
Как безопасно изменить владельца файла без потери доступа?
Что такое символический режим в chmod и когда его лучше использовать?
Как предотвратить случайное удаление важных файлов из-за неправильных прав?

Полезное

Просмотр текущих разрешений
Изменение прав с помощью chmod
Изменение владельца и группы с помощью chown
Решение распространенных проблем с правами

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