Как управлять пользователями и правами доступа в Linux: полное руководство
Узнайте, как управлять пользователями и правами доступа в Linux через консольные утилиты: команды useradd, usermod, userdel для учётных записей и chmod, chown, chgrp для настройки прав доступа.
Оглавление
Управление пользователями и группами
Для создания, изменения и удаления учётных записей в Linux применяются следующие базовые команды:
| Команда | Назначение |
|---|---|
useradd / adduser | Создание нового пользователя |
usermod | Модификация существующих учётных записей |
userdel | Удаление пользователя из системы |
id | Просмотр идентификаторов и групп |
Создание пользователя с группой
При создании учётной записи можно сразу добавить пользователя в дополнительную группу:
useradd -G groupname username
Модификация учётной записи
Команда usermod позволяет изменять параметры существующих пользователей: домашнюю директорию, оболочку или членство в группах.
Просмотр идентификаторов
Команда id отображает идентификатор пользователя (UID), идентификаторы групп (GID) и полный список групп, в которых состоит учётная запись.
Управление правами доступа к файлам и директориям
Права доступа в Linux делятся на три категории: владелец (user), группа (group) и остальные пользователи (others).
Основные команды для работы с правами
| Команда | Назначение |
|---|---|
chmod | Изменение прав доступа к файлам и папкам |
chown | Смена владельца файла или директории |
chgrp | Изменение группы-владельца |
umask | Настройка маски прав по умолчанию |
Изменение прав доступа
Команда chmod поддерживает два формата записи прав:
- Символьная нотация: например,
+xдля добавления права на исполнение - Восьмеричная нотация: например,
755для установки полного набора прав
Также chmod позволяет устанавливать специальные биты защиты: SUID, SGID и Sticky Bit.
Смена владельца
Базовый синтаксис команды chown для изменения владельца файла:
chown user file
Маска прав по умолчанию
Команда umask настраивает маску, которая определяет разрешения для вновь создаваемых файлов и директорий.
Расширенное управление доступом
Помимо стандартных прав, в Linux существуют механизмы для более тонкой настройки доступа.
Списки контроля доступа (ACL)
ACL (Access Control Lists) позволяют назначать права конкретным пользователям или группам сверх стандартной модели «владелец-группа-остальные».
Специальные разрешения
Специальные биты SUID и SGID позволяют исполнять файлы с правами владельца или группы файла соответственно, что критически важно для работы некоторых системных утилит.
Правильная настройка параметров доступа повышает надёжность системы и защищает важные данные от несанкционированного изменения или удаления.
Частые ошибки
Отсутствие настройки umask
Без конфигурации маски прав вновь создаваемые файлы и директории получают разрешения по умолчанию, которые могут оказаться небезопасными. Команда umask позволяет задать корректные значения для новых объектов.
Игнорирование ACL при необходимости точечного доступа Стандартная модель «владелец-группа-остальные» не всегда достаточна. Для назначения прав конкретному пользователю или группе сверх этой модели необходимо применять списки контроля доступа (ACL).
FAQ
Как добавить пользователя в дополнительную группу при создании?
Используйте команду useradd с флагом -G:
useradd -G groupname username
Как изменить владельца файла?
Примените команду chown с указанием нового владельца и пути к файлу:
chown user file
Что такое специальные биты SUID и SGID? Это специальные разрешения, которые позволяют исполнять файлы с правами владельца или группы файла соответственно. Они необходимы для работы некоторых системных утилит.
Как установить права по умолчанию для новых файлов?
Используйте команду umask для настройки маски прав, которая применяется ко всем вновь создаваемым файлам и директориям.