Управление пользователями
Пользователи
Добавление нового пользователя
useradd
# useradd test1
Параметры
- -M - не создавать домашний каталог
- -N - не создавать группу с тем же именем что и у пользователя
- -p - пароль
# useradd -p gfrgjhrkj petr
- -d - указание кастомного домашнего каталога
# useradd -d /opt/users/user petr
- -e - создание пользователя с истекающим сроком действия аккаунта
# useradd -e 2023-05-30 petr
Проверяем командой chage - пакет shadow-change:
# chage -l petr
Пример вывода:
# chage -l petr
Последний раз пароль был изменён : мая 28, 2023
Срок действия пароля истекает : никогда
Пароль будет деактивирован через : никогда
Срок действия учётной записи истекает : мая 30, 2023
Минимальное количество дней между сменой пароля : -1
Максимальное количество дней между сменой пароля : -1
Количество дней с предупреждением перед деактивацией пароля : -1
Устанавливаем срок действия пароля в течении 20-и дней,
# chage -M 20 petr
Проверяем командой chage - пакет shadow-change:
# chage -l petr
Пример вывода:
# chage -l petr
Последний раз пароль был изменён : мая 28, 2023
Срок действия пароля истекает : июн 17, 2023
Пароль будет деактивирован через : никогда
Срок действия учётной записи истекает : мая 30, 2023
Минимальное количество дней между сменой пароля : -1
Максимальное количество дней между сменой пароля : 20
Количество дней с предупреждением перед деактивацией пароля : -1
- -c Указание отображаемого имени
# useradd -c "Петрушка" petr
При входе в систему вместо petr у нас будет Петрушка
- -s Указание другой оболочки
# useradd -s /sbin/sh techlist
Проверяем
# grep -E 'techlist' /etc/passwd
techlist:x:1001:1001::/home/techlist:/sbin/sh
adduser
adduser по командам аналогична useradd.
Изменение пользователя
Изменение имени пользователя
Существующему пользователю можно изменить имя, изменим имя пользователя techlist на techlist_admin, делается это опцией -l.
# usermod -l techlist_admin techlist
Проверяем
# id techlist
id: techlist: такого пользователя нет
# id techlist_admin (а такой пользователь есть)
uid=1001(techlist_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/techlist -m techlist
Проверяем
# grep -E 'techlist' /etc/passwd
techlist:x:1001:1001:Имя Фамилия:/opt/techlist:/bin/bash
Установка даты истечения срока аккаунта
Назначим дату истечения действия аккаунта, аккаунт будет действовать до 2017-05-01, дата задается опцией -e.
Для работы chage нужно установить пакет shadow-change
# usermod -e 2017-05-01 techlist
Проверяем
# chage -l techlist
Последний раз пароль был изменён : фев 07, 2017
Срок действия пароля истекает : никогда
Пароль будет деактивирован через : никогда
Срок действия учётной записи истекает : май 01, 2017
Минимальное количество дней между сменой пароля : 0
Максимальное количество дней между сменой пароля : 99999
Количество дней с предупреждением перед деактивацией пароля : 7
Просмотреть список пользователей
Всех
$ cat /etc/passwd
Только с домашней папкой в /home:
$ cat /etc/passwd | grep /home
Смена имени пользователя
с тест1 на тест2
# usermod -l test2 test1
Удаление пользователя
userdel
# userdel test2
удалить залогиненого пользователя
# userdel -f test2
удалить домашний каталог и почтовый ящик
# userdel -r test2
deluser
# deluser test2
- --remove-home - удалить домашний каталог пользователя и почтовый ящик
- --remove-all-files - удалить все файлы принадлежащие пользователю
- --backup - сделать резервные копии файлов перед удалением.
- --backup-to <КАТ> - каталог для резервных копий файлов. По умолчанию используется текущий каталог.
- --system - удалить только если учётная запись системная
Блокировка аккаунта пользователя
Для блокировки аккаунта пользователя достаточно выполнить команду с опцией -L.
# usermod -L techlist_admin
Проверяем:
# grep -E 'techlist_admin' /etc/shadow
techlist_admin:!$6$Xq90Qiae$lNbChGeX89upuE1vuXJtTXaC63Fddy.Xn8ebmuao9Fuid7xuJ66bMHYlWtlx6QIRltKtX1T5TYMKhyW1ZZXtQ/:17204:0:99999:7:::
Если перед зашифрованным паролем отображается восклицательный знак это значит что пользователь заблокирован.
Разблокировка аккаунта пользователя
Для того чтобы разблокировать аккаунт пользователя, достаточно выполнить команду с опцией -U.
# usermod -U techlist_admin
Проверяем
# grep -E 'techlist_admin' /etc/shadow
techlist_admin:$6$Xq90Qiae$lNbChGeX89upuE1vuXJtTXaC63Fddy.Xn8ebmuao9Fuid7xuJ66bMHYlWtlx6QIRltKtX1T5TYMKhyW1ZZXtQ/:17204:0:99999:7:::
Восклицательного знака нет, значит пользователь разблокирован.
Изменение командной оболочки пользователя
Чтобы изменить командную оболочку пользователя, надо выполнить следующую команду с опцией -s. Изменим пользовательскую оболочку для techlist_admin с /bin/bash/ на /bin/sh/.
# usermod -s /bin/sh techlist_admin
Проверяем
# grep -E 'techlist_admin' /etc/passwd
techlist_admin:x:1001:1002:Имя Фамилия:/opt/techlist:/bin/sh
Изменение UID и GID пользователя
Для изменения UID пользователя используется опция -u.
# usermod -u 777 techlist_admin
Проверяем
# id techlist_admin
uid=777(techlist_admin) gid=1002(group_1) группы=1002(group_1),10(wheel),1003(group_2)
Для изменения GID пользователя используется опция -g.
# usermod -g 777 techlist_admin
Проверяем
# id techlist_admin
uid=777(techlist_admin) gid=777(newgroup) группы=777(newgroup),10(wheel),1003(group_2)
Таким образом можно управлять пользователями и изменять их по своему усмотрению.
Группы
Просмотреть список групп
# cat /etc/group
Группы текущего пользователя
$ groups
Группы конкретного пользователя
# groups user
Добавить пользователя в дополнительную группу
# usermod -g <имя_группы> <имя_пользователя>
Добавить пользователя в основную группу
# usermod -g test sergiy
Удалить из группы
# usermod -G <группа_1>,<группа_2>,<группа_3> <пользователь>
# usermod -r группа пользователь
Удаление группы
# groupdel user
Создание группы
# groupadd test