Управление пользователями

Материал из ALT Linux Wiki

Пользователи

Примечание: Для работы команды chage нужно установить пакет shadow-change

Добавление нового пользователя

useradd

# useradd test1
Параметры
  • -M - не создавать домашний каталог
# useradd -M petr
  • -N - не создавать группу с тем же именем что и у пользователя
# useradd -N petr
  • -p - пароль
# useradd -p gfrgjhrkj petr
  • -d - указание кастомного домашнего каталога
# useradd -d /opt/users/user petr
  • --system - создание системного аккаунта без пароля и домашнего аккаунта
# useradd --system cassandra
  • -e - создание пользователя с истекающим сроком действия аккаунта. Он задается опцией -e ГГГГ-ММ-ДД
# useradd -e 2023-05-30 petr

Проверяем командой chage:

# chage -l petr

Пример вывода:

# chage -l petr
Последний раз пароль был изменён				: мая 28, 2023
Срок действия пароля истекает					: никогда
Пароль будет деактивирован через				: никогда
Срок действия учётной записи истекает				: мая 30, 2023
Минимальное количество дней между сменой пароля			: -1
Максимальное количество дней между сменой пароля		: -1
Количество дней с предупреждением перед деактивацией пароля	: -1
  • Устанавливаем срок действия пароля в течении 20-и дней,
# chage -M 20 petr

Проверяем командой chage:

# chage -l petr

Пример вывода:

# chage -l petr
Последний раз пароль был изменён				: мая 28, 2023
Срок действия пароля истекает					: июн 17, 2023
Пароль будет деактивирован через				: никогда
Срок действия учётной записи истекает				: мая 30, 2023
Минимальное количество дней между сменой пароля			: -1
Максимальное количество дней между сменой пароля		: 20
Количество дней с предупреждением перед деактивацией пароля	: -1
  • -c Указание отображаемого имени
# useradd -c "Петрушка" petr

При входе в систему у пользователя petr, вместо логина, будет отображаться имя "Петрушка"

  • -s Указание другой оболочки

Вместо bash мы можем установить пользователю другой командный интерпретатор (/bin/bash, /bin/sh, /bin/zsh).

# useradd -s /bin/sh petr

Проверяем:

# grep -E 'petr' /etc/passwd
petr:x:1001:1001::/home/petr:/bin/sh

adduser

adduser по командам аналогична useradd.

Изменение пользователя

Изменение имени пользователя

Существующему пользователю можно изменить имя, делается это опцией -l. Первым указывается новое имя, вторым - старое.

Изменим имя пользователя petr на petr_admin,

# usermod -l petr_admin petr

Проверяем:

# id petr
id: petr: такого пользователя нет
# id petr_admin
uid=1001(petr_admin) gid=1002(group_1) группы=1002(group_1),10(wheel),1003(group_2)

Изменение пароля пользователя

# passwd test1

Добавление/Изменение отображаемого имени

# usermod -c "Тестировщик" test1

Проверяем:

$ grep -E 'test1' /etc/passwd
 test1:x:1001:1001:Тестировщик:/home/test1:/bin/bash

Изменение домашнего каталога пользователя

Опция -d меняет каталог, а опция -m переносит в новый каталог все содержимое старого.

# usermod -d /opt/petr -m petr

Проверяем:

# grep -E 'petr' /etc/passwd
petr:x:1001:1001:Имя Фамилия:/opt/petr:/bin/bash

Установка даты истечения срока аккаунта

Пользователю можно назначить дату истечения действия аккаунта. Она задается опцией -e ГГГГ-ММ-ДД.

Для работы chage нужно установить пакет shadow-change.

# usermod -e 2024-12-31 petr

Проверяем:

# chage -l petr
Последний раз пароль был изменён				: мая 29, 2023
Срок действия пароля истекает					: никогда
Пароль будет деактивирован через				: никогда
Срок действия учётной записи истекает				: дек 31, 2024
Минимальное количество дней между сменой пароля			: -1
Максимальное количество дней между сменой пароля		: -1
Количество дней с предупреждением перед деактивацией пароля	: -1

Просмотреть список пользователей

Всех:

$ cat /etc/passwd

Только с домашней папкой в /home:

$ cat /etc/passwd | grep /home

Удаление пользователя

userdel

# userdel test2
  • удалить залогиненого пользователя
# userdel -f test2
  • удалить домашний каталог и почтовый ящик
# userdel -r test2

Изменение командной оболочки пользователя

Чтобы изменить командную оболочку пользователя (например, на /bin/bash, /bin/sh, /bin/zsh), нужно выполнить команду usermod с опцией -s.

Например, изменим пользовательскую оболочку для petr_admin с /bin/bash/ на /bin/sh/.

# usermod -s /bin/sh petr_admin

Проверяем:

# grep -E 'petr_admin' /etc/passwd
petr_admin:x:1001:1002:Имя Фамилия:/opt/petr:/bin/sh

Изменение UID и GID пользователя

Для изменения UID пользователя используется опция -u.

# usermod -u 777 petr_admin

Проверяем:

# id petr_admin
uid=777(petr_admin) gid=1002(group_1) группы=1002(group_1),10(wheel),1003(group_2)

Для изменения GID пользователя используется опция -g.

# usermod -g 777 petr_admin

Проверяем:

# id petr_admin
uid=777(petr_admin) gid=777(newgroup) группы=777(newgroup),10(wheel),1003(group_2)

Таким образом можно управлять пользователями и изменять их по своему усмотрению.

Группы

Просмотреть список групп

# cat /etc/group

Группы текущего пользователя

$ groups

Группы конкретного пользователя

# groups user

Принудительно назначить первичную группу

# usermod -g test sergiy

Добавить в дополнительную группу

# usermod -a -G ntpd petr

Удалить из группы

# gpasswd -d user root

Создание группы

# groupadd test

Удаление группы

# groupdel user