Управление пользователями: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
 
(не показано 29 промежуточных версий этого же участника)
Строка 1: Строка 1:
{{attention|Страница в разработке и не готова!!!}}
{{stub}}
==Пользователи==
==Пользователи==
{{Note|Для работы команды '''chage''' нужно установить пакет '''shadow-change'''}}
===Справочная информация по именованию пользователей===
{|class="wikitable" style="float:center; margin-left:2em"
!colspan="2"|Правила по именованию пользователя
|-
!Имя может состоять из:
|
*строчных ASCII-букв
*цифр
*подчеркивания и дефиса
|-
!Ограничения на имя
|
Первым символом имени пользователя могут быть:
*строчная буква
*подчеркивание
Первым символом не могут быть:
*цифра
*дефис
Последним символом может быть:
*знак доллара ($)
|-
!Максимальная длина<br>имени пользователя:
|
*32 символа
|-
!Символы которые нельзя<br>использовать в имени пользователя:
|
*прописные буквы
*точка
|-
!Маска имени
|
[a-z_][a-z0-9_-]*[$]?
|}


{{Note|Для работы команды '''chage''' нужно установить пакет '''shadow-change'''}}
===Добавление нового пользователя===
===Добавление нового пользователя===
====useradd====
====useradd====
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# useradd test1
# useradd имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# useradd buh1
</syntaxhighlight>
</syntaxhighlight>


=====Параметры=====
=====Параметры=====
*-M - не создавать домашний каталог
*-M - не создавать домашний каталог
<syntaxhighlight lang="bash">
# useradd -M имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# useradd -M buh1
</syntaxhighlight>
*-N - не создавать группу с тем же именем что и у пользователя
*-N - не создавать группу с тем же именем что и у пользователя
<syntaxhighlight lang="bash">
# useradd -N имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# useradd -N buh1
</syntaxhighlight>
*-p - пароль
*-p - пароль
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# useradd -p gfrgjhrkj petr
# useradd -p пароль имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# useradd -p gfrgjhrkj buh1
</syntaxhighlight>
</syntaxhighlight>


*-d - указание кастомного домашнего каталога
*-d - указание кастомного домашнего каталога
<syntaxhighlight lang="bash">
# useradd -d путь_к_новому_каталогу имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# useradd -d /opt/users/buh1 buh1
</syntaxhighlight>


*--system - создание системного аккаунта без пароля и домашнего аккаунта
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# useradd -d /opt/users/user petr
# useradd --system cassandra
</syntaxhighlight>
</syntaxhighlight>


*-e - создание пользователя с истекающим сроком действия аккаунта
*-e - создание пользователя с истекающим сроком действия аккаунта. Он задается опцией -e ГГГГ-ММ-ДД
 
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# useradd -e 2023-05-30 petr
# useradd -e 2023-05-30 buh1
</syntaxhighlight>
</syntaxhighlight>


Проверяем командой chage - пакет shadow-change:
Проверяем командой '''chage''':
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# chage -l petr
# chage -l buh1
</syntaxhighlight>
</syntaxhighlight>


Пример вывода:
Пример вывода:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# chage -l petr
# chage -l buh1
Последний раз пароль был изменён : мая 28, 2023
Последний раз пароль был изменён : мая 28, 2023
Срок действия пароля истекает : никогда
Срок действия пароля истекает : никогда
Строка 49: Строка 111:
</syntaxhighlight>
</syntaxhighlight>


Устанавливаем срок действия пароля в течении 20-и дней,
*Устанавливаем срок действия пароля в течении 20-и дней,
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# chage -M 20 petr
# chage -M 20 buh1
</syntaxhighlight>
</syntaxhighlight>


Проверяем командой chage - пакет shadow-change:
Проверяем командой '''chage''':
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# chage -l petr
# chage -l buh1
</syntaxhighlight>
</syntaxhighlight>


Пример вывода:
Пример вывода:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# chage -l petr
# chage -l buh1
Последний раз пароль был изменён : мая 28, 2023
Последний раз пароль был изменён : мая 28, 2023
Срок действия пароля истекает : июн 17, 2023
Срок действия пароля истекает : июн 17, 2023
Строка 74: Строка 136:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# useradd -c "Петрушка" petr
# useradd -c "Богомолова Ольга" buh1
</syntaxhighlight>
</syntaxhighlight>


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


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


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# useradd -s /sbin/sh techlist
# useradd -s /bin/sh buh1
</syntaxhighlight>
</syntaxhighlight>


Проверяем
Проверяем:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# grep -E 'techlist' /etc/passwd
# grep -E 'buh1' /etc/passwd
techlist:x:1001:1001::/home/techlist:/sbin/sh
buh1:x:1001:1001::/home/buh1:/bin/sh
</syntaxhighlight>
</syntaxhighlight>


Строка 96: Строка 160:


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


Существующему пользователю можно изменить имя, изменим имя пользователя techlist на techlist_admin, делается это опцией -l.
Существующему пользователю можно изменить имя, делается это опцией -l. Первым указывается новое имя, вторым - старое.
<syntaxhighlight lang="bash">
# usermod -l новое_имя старое_имя
</syntaxhighlight>
Пример:


Изменим имя пользователя buh1 на buh3,
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -l techlist_admin techlist
# usermod -l buh3 buh1
</syntaxhighlight>
</syntaxhighlight>


Проверяем
Проверяем:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# id techlist
# id buh1
id: techlist: такого пользователя нет
id: buh1: такого пользователя нет
# id techlist_admin (а такой пользователь есть)
# id buh3
uid=1001(techlist_admin) gid=1002(group_1) группы=1002(group_1),10(wheel),1003(group_2)
uid=1001(buh3) gid=1002(group_1) группы=1002(group_1),10(wheel),1003(group_2)
</syntaxhighlight>
</syntaxhighlight>


====Изменение пароля пользователя====
====Изменение пароля пользователя====
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# passwd test1
# passwd имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# passwd buh3
</syntaxhighlight>
</syntaxhighlight>


====Добавление/Изменение отображаемого имени====
====Добавление/Изменение отображаемого имени====
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -c "Тестировщик" test1
# usermod -c "Отображаемое имя" имя_пользователя
</syntaxhighlight>
</syntaxhighlight>
Проверяем
Пример:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ grep -E 'test1' /etc/passwd
# usermod -c "Огурцова Татьяна" buh3
  test1:x:1001:1001:Тестировщик:/home/test1:/bin/bash
</syntaxhighlight>
Проверяем:
<syntaxhighlight lang="bash">
$ grep -E 'buh3' /etc/passwd
  test1:x:1001:1001:Огурцова Татьяна:/home/buh1:/bin/bash
</syntaxhighlight>
</syntaxhighlight>


Строка 131: Строка 208:
Опция -d меняет каталог, а опция -m переносит в новый каталог все содержимое старого.
Опция -d меняет каталог, а опция -m переносит в новый каталог все содержимое старого.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -d /opt/techlist -m techlist
usermod -d новый_домашний_каталог -m имя_пользователя
</syntaxhighlight>
</syntaxhighlight>
Проверяем
Пример:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# grep -E 'techlist' /etc/passwd
# usermod -d /home/buh3 -m buh3
techlist:x:1001:1001:Имя Фамилия:/opt/techlist:/bin/bash
</syntaxhighlight>
Проверяем:
<syntaxhighlight lang="bash">
# grep -E 'buh3' /etc/passwd
buh1:x:1001:1001:Огурцова Татьяна:/home/buh3:/bin/bash
</syntaxhighlight>
</syntaxhighlight>


====Установка даты истечения срока аккаунта====
====Установка даты истечения срока аккаунта====
Назначим дату истечения действия аккаунта, аккаунт будет действовать до 2017-05-01, дата задается опцией -e.
Пользователю можно назначить дату истечения действия аккаунта. Она задается опцией -e ГГГГ-ММ-ДД.
 
{{Note|Для работы chage нужно установить пакет shadow-change}}


Для работы chage нужно установить пакет shadow-change
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -e 2017-05-01 techlist
# usermod -e срок_действия имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# usermod -e 2024-12-31 buh3
</syntaxhighlight>
</syntaxhighlight>


Проверяем
Проверяем:
<syntaxhighlight lang="bash">
# chage -l имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# chage -l techlist
# chage -l buh3
Последний раз пароль был изменён : фев 07, 2017
Последний раз пароль был изменён : мая 29, 2023
Срок действия пароля истекает : никогда
Срок действия пароля истекает : никогда
Пароль будет деактивирован через : никогда
Пароль будет деактивирован через : никогда
Срок действия учётной записи истекает : май 01, 2017
Срок действия учётной записи истекает : дек 31, 2024
Минимальное количество дней между сменой пароля         : 0
Минимальное количество дней между сменой пароля : -1
Максимальное количество дней между сменой пароля : 99999
Максимальное количество дней между сменой пароля : -1
Количество дней с предупреждением перед деактивацией пароля : 7
Количество дней с предупреждением перед деактивацией пароля : -1
</syntaxhighlight>
</syntaxhighlight>


===Просмотреть список пользователей===
===Просмотреть список пользователей===
Всех
Всех:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ cat /etc/passwd
$ cat /etc/passwd
Строка 168: Строка 258:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
$ cat /etc/passwd | grep /home
$ cat /etc/passwd | grep /home
</syntaxhighlight>
===Смена имени пользователя===
с тест1 на тест2
<syntaxhighlight lang="bash">
# usermod -l test2 test1
</syntaxhighlight>
</syntaxhighlight>


Строка 180: Строка 264:
====userdel====
====userdel====
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# userdel test2
# userdel имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# userdel buh3
</syntaxhighlight>
</syntaxhighlight>


удалить залогиненого пользователя
*удалить залогиненого пользователя
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# userdel -f test2
# userdel -f имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# userdel -f buh3
</syntaxhighlight>
</syntaxhighlight>


удалить домашний каталог и почтовый ящик
*удалить домашний каталог и почтовый ящик
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# userdel -r test2
# userdel -r имя_пользователя
</syntaxhighlight>
</syntaxhighlight>
 
Пример:
====deluser====
<syntaxhighlight lang="bash">
# userdel -r buh3
</syntaxhighlight>
<!--====deluser====


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
Строка 199: Строка 294:
</syntaxhighlight>
</syntaxhighlight>


*  --remove-home             удалить домашний каталог пользователя и почтовый ящик
*  --remove-home - удалить домашний каталог пользователя и почтовый ящик
*  --remove-all-files       удалить все файлы принадлежащие пользователю
*  --remove-all-files - удалить все файлы принадлежащие пользователю
*  --backup                 сделать резервные копии файлов перед удалением.
*  --backup - сделать резервные копии файлов перед удалением.
*  --backup-to <КАТ>         каталог для резервных копий файлов. По умолчанию используется текущий каталог.
*  --backup-to <КАТ> - каталог для резервных копий файлов. По умолчанию используется текущий каталог.
*  --system                 удалить только если учётная запись системная
*  --system - удалить только если учётная запись системная


===Блокировка аккаунта пользователя===
===Блокировка аккаунта пользователя===
Строка 209: Строка 304:
Для блокировки аккаунта пользователя достаточно выполнить команду с опцией -L.
Для блокировки аккаунта пользователя достаточно выполнить команду с опцией -L.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -L techlist_admin
# usermod -L buh3
</syntaxhighlight>
</syntaxhighlight>
Проверяем:
Проверяем:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# grep -E 'techlist_admin' /etc/shadow
# grep -E 'buh3' /etc/shadow
techlist_admin:!$6$Xq90Qiae$lNbChGeX89upuE1vuXJtTXaC63Fddy.Xn8ebmuao9Fuid7xuJ66bMHYlWtlx6QIRltKtX1T5TYMKhyW1ZZXtQ/:17204:0:99999:7:::
buh3!$6$Xq90Qiae$lNbChGeX89upuE1vuXJtTXaC63Fddy.Xn8ebmuao9Fuid7xuJ66bMHYlWtlx6QIRltKtX1T5TYMKhyW1ZZXtQ/:17204:0:99999:7:::
</syntaxhighlight>
</syntaxhighlight>


Строка 222: Строка 317:
Для того чтобы разблокировать аккаунт пользователя, достаточно выполнить команду с опцией -U.
Для того чтобы разблокировать аккаунт пользователя, достаточно выполнить команду с опцией -U.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -U techlist_admin
# usermod -U buh3
</syntaxhighlight>
</syntaxhighlight>


Проверяем
Проверяем:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# grep -E 'techlist_admin' /etc/shadow
# grep -E 'buh3' /etc/shadow
techlist_admin:$6$Xq90Qiae$lNbChGeX89upuE1vuXJtTXaC63Fddy.Xn8ebmuao9Fuid7xuJ66bMHYlWtlx6QIRltKtX1T5TYMKhyW1ZZXtQ/:17204:0:99999:7:::
buh1_admin:$6$Xq90Qiae$lNbChGeX89upuE1vuXJtTXaC63Fddy.Xn8ebmuao9Fuid7xuJ66bMHYlWtlx6QIRltKtX1T5TYMKhyW1ZZXtQ/:17204:0:99999:7:::
</syntaxhighlight>
</syntaxhighlight>


Восклицательного знака нет, значит пользователь разблокирован.
Восклицательного знака нет, значит пользователь разблокирован.
-->


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


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


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -s /bin/sh techlist_admin
# usermod -s /bin/sh buh3
</syntaxhighlight>
</syntaxhighlight>


Проверяем
Проверяем:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# grep -E 'techlist_admin' /etc/passwd
# grep -E 'buh3' /etc/passwd
techlist_admin:x:1001:1002:Имя Фамилия:/opt/techlist:/bin/sh
buh3:x:1001:1002:Огурцова Татьяна:/home/buh3:/bin/sh
</syntaxhighlight>
</syntaxhighlight>


Строка 251: Строка 349:


<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -u 777 techlist_admin
# usermod -u 777 buh3
</syntaxhighlight>
</syntaxhighlight>


Проверяем
Проверяем:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# id techlist_admin
# id buh3
uid=777(techlist_admin) gid=1002(group_1) группы=1002(group_1),10(wheel),1003(group_2)
uid=777(buh3) gid=1002(group_1) группы=1002(group_1),10(wheel),1003(group_2)
</syntaxhighlight>
</syntaxhighlight>


===Для изменения GID пользователя используется опция -g.===
Для изменения GID пользователя используется опция -g.
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -g 777 techlist_admin
# usermod -g 777 buh3
</syntaxhighlight>
</syntaxhighlight>


Проверяем
Проверяем:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# id techlist_admin
# id buh3
uid=777(techlist_admin) gid=777(newgroup) группы=777(newgroup),10(wheel),1003(group_2)
uid=777(buh3) gid=777(newgroup) группы=777(newgroup),10(wheel),1003(group_2)
</syntaxhighlight>
</syntaxhighlight>


Строка 287: Строка 385:
===Группы конкретного пользователя===
===Группы конкретного пользователя===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# groups user
# groups имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# groups buh3
</syntaxhighlight>
</syntaxhighlight>


===Добавить пользователя в дополнительную группу===
===Принудительно назначить первичную группу===
<syntaxhighlight lang="bash">
# usermod -g группа имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -G -a <имя_группы> <имя_пользователя>
# usermod -g administratsiya buh3
</syntaxhighlight>
</syntaxhighlight>


===Добавить пользователя в основную группу===
===Добавить в дополнительную группу===
<syntaxhighlight lang="bash">
# usermod -a -G группа имя_пользователя
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -g test sergiy
# usermod -a -G secrdostup buh3
</syntaxhighlight>
</syntaxhighlight>


===Удалить из группы===
===Удалить из группы===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -G <группа_1>,<группа_2>,<группа_3> <пользователь>
# gpasswd -d пользователь имя_руппы
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# gpasswd -d buh3 secrdostup
</syntaxhighlight>
</syntaxhighlight>


===Создание группы===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# usermod -r группа пользователь
# groupadd имя_группы
</syntaxhighlight>
Пример:
<syntaxhighlight lang="bash">
# groupadd secrdostup
</syntaxhighlight>
</syntaxhighlight>


===Удаление группы===
===Удаление группы===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# groupdel user
# groupdel имя_группы
</syntaxhighlight>
</syntaxhighlight>
 
Пример:
===Создание группы===
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
# groupadd test
# groupdel secrdostup
</syntaxhighlight>
</syntaxhighlight>
[[Категория:HOWTO]]
[[Категория:Управление пользователями]]

Текущая версия от 14:48, 5 апреля 2024

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

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

Справочная информация по именованию пользователей

Правила по именованию пользователя
Имя может состоять из:
  • строчных ASCII-букв
  • цифр
  • подчеркивания и дефиса
Ограничения на имя

Первым символом имени пользователя могут быть:

  • строчная буква
  • подчеркивание

Первым символом не могут быть:

  • цифра
  • дефис

Последним символом может быть:

  • знак доллара ($)
Максимальная длина
имени пользователя:
  • 32 символа
Символы которые нельзя
использовать в имени пользователя:
  • прописные буквы
  • точка
Маска имени
[a-z_][a-z0-9_-]*[$]?

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

useradd

# useradd имя_пользователя

Пример:

# useradd buh1
Параметры
  • -M - не создавать домашний каталог
# useradd -M имя_пользователя

Пример:

# useradd -M buh1
  • -N - не создавать группу с тем же именем что и у пользователя
# useradd -N имя_пользователя

Пример:

# useradd -N buh1
  • -p - пароль
# useradd -p пароль имя_пользователя

Пример:

# useradd -p gfrgjhrkj buh1
  • -d - указание кастомного домашнего каталога
# useradd -d путь_к_новому_каталогу имя_пользователя

Пример:

# useradd -d /opt/users/buh1 buh1
  • --system - создание системного аккаунта без пароля и домашнего аккаунта
# useradd --system cassandra
  • -e - создание пользователя с истекающим сроком действия аккаунта. Он задается опцией -e ГГГГ-ММ-ДД
# useradd -e 2023-05-30 buh1

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

# chage -l buh1

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

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

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

# chage -l buh1

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

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

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

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

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

# useradd -s /bin/sh buh1

Проверяем:

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

adduser

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

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

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

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

# usermod -l новое_имя старое_имя

Пример:

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

# usermod -l buh3 buh1

Проверяем:

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

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

# passwd имя_пользователя

Пример:

# passwd buh3

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

# usermod -c "Отображаемое имя" имя_пользователя

Пример:

# usermod -c "Огурцова Татьяна" buh3

Проверяем:

$ grep -E 'buh3' /etc/passwd
 test1:x:1001:1001:Огурцова Татьяна:/home/buh1:/bin/bash

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

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

usermod -d новый_домашний_каталог -m имя_пользователя

Пример:

# usermod -d /home/buh3 -m buh3

Проверяем:

# grep -E 'buh3' /etc/passwd
buh1:x:1001:1001:Огурцова Татьяна:/home/buh3:/bin/bash

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

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

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


# usermod -e срок_действия имя_пользователя

Пример:

# usermod -e 2024-12-31 buh3

Проверяем:

# chage -l имя_пользователя

Пример:

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

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

Всех:

$ cat /etc/passwd

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

$ cat /etc/passwd | grep /home

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

userdel

# userdel имя_пользователя

Пример:

# userdel buh3
  • удалить залогиненого пользователя
# userdel -f имя_пользователя

Пример:

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

Пример:

# userdel -r buh3

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

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

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

# usermod -s /bin/sh buh3

Проверяем:

# grep -E 'buh3' /etc/passwd
buh3:x:1001:1002:Огурцова Татьяна:/home/buh3:/bin/sh

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

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

# usermod -u 777 buh3

Проверяем:

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

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

# usermod -g 777 buh3

Проверяем:

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

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

Группы

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

# cat /etc/group

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

$ groups

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

# groups имя_пользователя

Пример:

# groups buh3

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

# usermod -g группа имя_пользователя

Пример:

# usermod -g administratsiya buh3

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

# usermod -a -G группа имя_пользователя

Пример:

# usermod -a -G secrdostup buh3

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

# gpasswd -d пользователь имя_руппы

Пример:

# gpasswd -d buh3 secrdostup

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

# groupadd имя_группы

Пример:

# groupadd secrdostup

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

# groupdel имя_группы

Пример:

# groupdel secrdostup