К содержанию
АльфаКомпВсё о компьютерах — каждый день
LinuxИнструкция5 минут чтения

Управление правами доступа и владельцами файлов в Linux

Правильное распределение прав и владельцев файлов в Linux защищает систему от несанкционированного доступа. Разбор утилит chmod и chown поможет настроить безопасность данных через терминал.

Терминал Linux с введенными командами управления правами доступа

Фото: J0s3l1t0 / Wikimedia Commons, CC BY-SA 4.0

Содержание
  1. Основы прав доступа и владельцев в Linux
  2. Изменение прав доступа с помощью chmod
  3. Изменение владельца и группы с помощью chown
  4. Рекурсивное применение параметров для каталогов
  5. Если не получилось

Для работы потребуется компьютер или сервер под управлением операционной системы Linux с установленными базовыми утилитами GNU coreutils (включая команды chmod и chown), а также доступ к терминалу с правами суперпользователя (при необходимости изменения защищенных системных файлов). Перед началом работы рекомендуется ознакомиться с базовыми принципами работы в основных командах терминала Linux для начинающих пользователей, чтобы уверенно ориентироваться в командной строке.

Основы прав доступа и владельцев в Linux

Каждый файл и каталог в системе Linux связан с определенным владельцем и группой, а также имеет набор бит разрешений. Утилита chmod изменяет биты режима файла, используя либо символьный формат, либо восьмеричное число. Символьный режим строится по схеме [ugoa...][[-+=][perms...]...]. Категории пользователей обозначаются буквами: u — владелец файла, g — участники группы файла, o — остальные пользователи, не входящие в эти категории, a — все вместе взятые.

Операторы определяют характер изменения: символ + добавляет указанные права к существующим, - удаляет их, а = устанавливает ровно те права, которые перечислены, сбрасывая остальные. Для разрешений используются буквы: r (чтение), w (запись), x (выполнение или поиск для каталогов), X (выполнение только если файл является каталогом или уже имеет права выполнения для кого-либо), s (setuid или setgid) и t (ограниченный флаг удаления или sticky-бит).

Изменение прав доступа с помощью chmod

Чтобы изменить разрешения для конкретного объекта, передайте утилите режим и путь к файлу. Восьмеричный режим задается числом от одной до четырех цифр от 0 до 7, которые получаются сложением значений 4 (чтение), 2 (запись) и 1 (выполнение). Первая цифра отвечает за атрибуты set user ID (4), set group ID (2) и sticky-бит (1). Вторая цифра задает права для владельца, третья — для группы, четвертая — для остальных пользователей.

  1. Откройте терминал и выполните команду с символьным режимом для добавления права выполнения владельцу файла:
chmod u+x script.sh
  1. Установите восьмеричный режим для файла, задав полный набор прав 755 (владелец может читать, писать и выполнять, а группа и остальные — только читать и выполнять):
chmod 755 document.txt
  1. Используйте флаг -v для вывода диагностического сообщения для каждого обработанного файла:
chmod -v 644 index.html

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

Для смены владельца и группы используется утилита chown. Ее базовый синтаксис позволяет указать нового владельца и через двоеточие группу: chown [OPTION]... [OWNER][:[GROUP]] FILE.... Если указан только владелец, группа файла остается прежней. Если после имени пользователя поставить двоеточие без указания группы, владельцем становится указанный пользователь, а группа автоматически меняется на его логин-группу.

  1. Измените владельца файла на пользователя root:
chown root /var/www/html/index.html
  1. Измените владельца и группу одновременно, разделив их двоеточием без пробелов:
chown root:staff /usr/local/bin/tool
  1. Измените только группу файла, оставив владельца прежним, указав двоеточие и имя группы:
chown :admin /etc/config.conf

Рекурсивное применение параметров для каталогов

Когда требуется изменить права или владельца не только для самого каталога, но и для всех вложенных в него файлов и подпапок, применяется ключ -R (или --recursive). Это позволяет массово обновлять настройки безопасности внутри крупных директорий.

  1. Выполните рекурсивную смену владельца каталога и всех его внутренних объектов на пользователя www-data:
chown -R www-data:www-data /var/www/html
  1. Примените рекурсивное изменение прав доступа для каталога с флагом -c, чтобы выводить отчет только о тех файлах, разрешения которых действительно изменились:
chmod -R -c 644 /var/uploads

Если не получилось

Если команда выдает ошибку «Отказано в доступе» (Permission denied), убедитесь, что у вас достаточно привилегий для изменения данного файла. Для редактирования системных объектов добавьте в начало команды sudo. Если при рекурсивном изменении прав chmod выдает сбои на символьных ссылках, учтите, что стандартное поведение утилиты заключается в игнорировании ссылок при обходе каталогов, если не заданы специальные параметры обхода иерархии -H или -L.

Источники

Материал подготовлен автоматически на основе открытых источников. Факты автоматически сверены с публикациями из списка ниже. Как мы работаем

  1. man7.org:chmod(1) - Linux manual page
  2. man7.org:chown(1) - Linux manual page
Поделиться:TelegramВКонтакте

Опубликовано 15 октября 2026

Рубрики

↑↓ — выбор, Enter — открыть, Esc — закрыть