Пользователи и права
Ядро Linux работает с UID (User ID)
Узнать id пользователя можно с помощью команды:
Пример вывода
При создании файла ядро назначает ему владельца и группу на основании учетных данных процесса и правил наследования группы каталога.
Посмотреть список учетных записей можно с помощью команды
Пример вывода команды:
devops:x:1000:1002:devops:/home/devops:/bin/bash
| | | | | | |-оболочка пользователя
| | | | | |-домашнаяя директория
| | | | |-описание учетной записи
| | | |-GID
| | |-UID
| |-зашифрованный пароль
|-имя пользователя
Права
Первые три символа - владелец
Вторвые три символа - группа владельца
Последние три символа - все остальные пользователи
r = 4
x = 1
w = 2
Сумма этих трех символов складываются в итоговое значение
rwx = 4 + 2 + 1 = 7
rw- = 4 + 2 = 6
r-x = 4 + 1 = 5
r-- = 4
Пример файла:
Переводится так:
владелец: rwx
группа: r-x
остальные: ---
Tip
Чтобы переходить внутрь директории у нее должно быть свойство x
chmod 000 убирает все права доступа, но у root есть приивилегии все смотреть
Создание пользователей
Для создания локальной учетной записи используется команда:
где -m создает домашнюю директорию, -s устанавливает оболочку пользователя
после создания пользователя мы можем посмотреть его:
Пример вывода:
Супер команда
Если хочется посмотреть все права на весь путь до файла, то можно исползовать команду namei -l /path/to/file что выведет весь маршрут и права директорий и файла
Редактирование групп пользователей
Если нужно добавить пользователя в определенную группу есть команда:
где -a добавляет пользователя в группу, -G нужно изменить группу а не создать новую
Warning
без ключа -a происходит перезатирание старых групп на новую
umask
Маска которая убирает определенные права при создании файлов и каталогов.
при создании файла программа обычно запрашивает права 666, а каталог 777.
Пример работы:
Исохдные права - 666
umask - 022
Результат прав - 644
umask не меняет права уже созданных файлов, он действует на процесс
SGID (Set Group ID)
SGID на каталоге заставляет новые файлы наследовать группу каталога.
Проблема: новые файлы наследуют группу процесса, а не группу developers
Решение:
Теперь все что будет создано в developers будет наследовать группу developers
SUID (Set User ID)
применяется к исполняемым файлам +x
буква s в правах владельца -> SUID
Когда user запускает такую программу, процесс получает эффективный UID владельца исполняемого файла.
Отличия SUID & SGID
| Термин | Описание |
|---|---|
SUID на исполняемом файле |
запуск с эффективным UID владельца файла |
SGID на исполняемом файле |
запуск с эффективным GID группы файла |
SGID на каталоге |
наследование группы при создании объектов |
Как применять SUID & SGID
при использовании chmod можно применять доп параметры:
4 - SUID
2 - SGID
1 - sticky bit
sticky bit
специальный бит прав доступа в Linux, который применяется только к директориям.
Он ограничивает удаление и переименование файлов в этой директории только владельцам этих файлов, даже если у пользователей есть права на запись в папку.
Это полезно для предотвращения случайного удаления чужих файлов.
Установка sticky bit
Удаление sticky bit
Последняя проверка 09.10.2026