Управление пользователями и группами в Linux
Управление пользователями
Создание пользователя
Создание обычного пользователя, создается стандартный домашний каталог по шаблону, назначается стандартный шел для входа
useradd <имя_пользователя> # задание пароля passwd <имя_пользователя>
Создание системного пользователя для сервиса, присваивается идентификатор из системного диапазона, домашний каталог не создается, интерактивный вход блокируется назначением шела /sbin/nologin
useradd -r -d / -s /sbin/nologin -c "Комментарий" <имя_пользователя> # задание пароля не требуется, т. к. пользователь не сможет войти в шел # -d указывает на домашний каталог (каталог по умолчанию), если не указывать, # то будет ссылаться на не созданный каталог /home/<имя_пользователя>
В CentOS 8 adduser - это просто ссылка на useradd
/sbin/adduser -> useradd
Дополнительную информацию по параметрам можно посмотреть так
useradd -h man useradd
Изменение учетной записи пользователя
Добавление дополнительной группы к списку дополнительных групп пользователя (включение пользователя в группу)
usermod -a -G <имя_группы> <имя_пользователя>
Назначение пользователю нового списка дополнительных групп
usermod -G <имя_группы_1>,<имя_группы_2>,... <имя_пользователя>
Назначение пользователю новой основной группы
usermod -g <имя_группы> <имя_пользователя>
Удаление пользователя
Удаление пользователя и одноименной основной группы
userdel <имя_пользователя>
Чистка данных пользователя
# удаление каталога пользователя rm -rf /home/<имя_пользователя> # удаление почтового ящика rm -rf /var/spool/mail/<имя_пользователя>
Управление группами
Создание группы
groupadd <имя_группы>
Удаление пустой группы
groupdel <имя_группы>
Членство в группах определяется в учетной записи пользователя (см. раздел Изменение учетной записи пользователя)
Дополнительная информация
Файлы конфигурации, шаблоны и файлы данных (CentOS 8)
Файлы конфигурации, определение различных параметров и значений по умолчанию
/etc/default/useradd /etc/login.defs
Стандартные каталоги
# базовый каталог для создания домашних каталогов пользователей /home # каталог шаблона для домашнего каталога пользователя /etc/skel # каталог для размещения почтовых ящиков пользователей /var/spool/mail
Файлы данных
# содержит информацию о пользователях (доступен всем на чтение) /etc/passwd # содержит информацию о группах (доступен всем на чтение) /etc/group # содержит защищаемую информацию о пользователях (доступен только root) /etc/shadow # содержит защищаемую информацию о группах (доступен только root) /etc/gshadow # per user subordinate user IDs (доступен всем на чтение) /etc/subuid # per user subordinate group IDs (доступен всем на чтение) /etc/subgid
Ограничения
- длина имени пользователя не может превышать 32 символа
Возвращаемые значения
useradd
0 успешное выполнение 1 не удалось изменить файл паролей 2 ошибка в параметрах команды 3 недопустимое значение параметра 4 такой UID уже существует (и не задан параметр -o) 6 указанная группа не существует 9 имя пользователя уже существует 10 не удалось изменить файл групп 12 не удалось создать домашний каталог 14 can't update SELinux user mapping