Команда usermod в Linux с примерами

В моей предыдущей статье я объяснил, как создать нового пользователя в Linux. Сегодня вы узнаете, как изменить существующую учетную запись пользователя в Linux с помощью команды usermod.

usermod означает «Модификация пользователя».

Как администратор Linux вы много раз получаете запросы на изменения существующего пользователя, такие как изменение основной группы пользователя, добавление пользователя в одну / несколько дополнительных групп, изменение имени входа, блокировка или разблокировка учетной записи, изменение домашнего каталога, изменить UID или GID и так далее.

Вы должны запустить команду usermod как корень user, потому что при запуске этой команды он вносит изменения в следующие важные файлы конфигурации, владельцем которых является root.

  • / etc / passwd
  • / etc / shadow
  • / etc / gshadow
  • / etc / group

Ключевые особенности команды usermod:

  • Установить новый идентификатор пользователя (UID) для учетной записи пользователя
  • Можно установить новую основную группу для существующей учетной записи пользователя
  • Заблокировать и разблокировать аккаунт
  • Добавить пользователя в одну / несколько вторичных / дополнительных групп
  • Изменить имя для входа в существующую учетную запись пользователя
  • Установить собственные комментарии
  • Изменить домашний каталог существующей учетной записи пользователя
  • Переместить содержимое текущего домашнего каталога в новый домашний каталог
  • Установить новую оболочку входа для существующей учетной записи пользователя
  • Добавить пользователя в новые дополнительные группы, не удаляя пользователя из других групп.
  • Установить дату истечения срока действия учетной записи пользователя
  • Установите незашифрованный пароль для учетной записи пользователя

Прежде всего, давайте сосредоточимся на некоторых из наиболее важных опций, которые мы можем использовать с usermod.

Параметры Объяснение
-как это Установить собственный комментарий для учетной записи пользователя
-d –home Новый домашний каталог для учетной записи пользователя
-e, –expiredate установить дату истечения срока действия учетной записи
-g, –gid Принудительно использовать GROUP как новую основную группу
-G, –groups Новый список дополнительных ГРУПП
-a, –append Добавить пользователя в дополнительные ГРУППЫ, указанные параметром -G, не удаляя пользователя из других групп.
-m, –move-home Переместите содержимое домашнего каталога в новое место (используйте только с -d)
-p, –password Установить незашифрованный для учетной записи пользователя
-s, –shell Новая оболочка входа для учетной записи пользователя
-u, –uid Новый UID для учетной записи пользователя
-l, –login Новое значение логина
-L, –lock Заблокировать учетную запись пользователя
-U, –unlock Разблокировать учетную запись пользователя
–помощь Отобразить страницу справки по команде usermod.

Вы должны следовать синтаксису, приведенному ниже, чтобы использовать usermod команда.

usermod [options] LOGIN

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

Команда useradd обращается к двум файлам для создания нового пользователя, и это /etc/login.defs а также /etc/default/useradd.

Эти файлы содержат некоторые настройки пользователя по умолчанию, такие как домашний каталог пользователя, оболочка входа по умолчанию и т. Д.

Поэтому в Linux по умолчанию домашний каталог нового пользователя создается внутри /home.

В этом примере, как вы можете видеть, домашний каталог пользователя с именем Аюш является /home/ayush.

# cat /etc/passwd | grep ayush
ayush:x:1110:1108:Ayush Balamukunda Sahu:/home/ayush:/bin/sh

Чтобы установить новый домашний каталог для пользователя, передайте -d вариант для usermod команда.

В этом примере я меняю домашний каталог пользователя с /home/ayush к /accounts/ayush.

# usermod -d /accounts/ayush ayush

Введите следующую команду, чтобы проверить, установлен ли новый каталог.

# cat /etc/passwd | grep ayush
ayush:x:1110:1108:Ayush Balamukunda Sahu:/accounts/ayush:/bin/sh

2. Переместите содержимое домашнего каталога пользователя.

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

Вы можете изменить домашний каталог с содержимым пользователя, используя -m вариант с usermod.

как видите, домашний каталог пользователя с именем Аюш является /home/ayush.

# cat /etc/passwd | grep ayush
ayush:x:1120:1006:Ayush Balamukunda Sahu:/home/ayush:/bin/bash

Следующая команда переместит домашний каталог в /accounts/ayush с контентом пользователя.

# usermod -d /accounts/ayush -m ayush

3. Установите дату истечения срока действия учетной записи.

Чтобы изменить дату истечения срока действия учетной записи существующего пользователя, используйте -e вариант с помощью команды usermod.

Здесь, в этом примере, дата истечения срока действия текущей учетной записи пользователя с именем Аюш является 01 янв.2021 г..

# chage -l ayush
Last password change					: Feb 04, 2021
Password expires					: never
Password inactive					: never
Account expires						: Jan 01, 2021
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Чтобы изменить срок годности, передайте -e возможность usermod. Формат даты, который вам нужно соблюдать, это ГГГГ-ММ-ДД.

В этом примере я меняю дату истечения срока действия учетной записи на 4 февраля 2021 г..

# usermod -e 2021-02-04 ayush

Как видите, срок действия учетной записи изменился.

# chage -l ayush
Last password change					: Feb 04, 2021
Password expires					: never
Password inactive					: never
Account expires						: Feb 04, 2021
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

4. Измените оболочку входа пользователя по умолчанию.

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

Прямо сейчас я использую RHEL 8, в котором оболочка входа пользователя по умолчанию /bin/sh.

Как вы можете видеть, оболочка входа по умолчанию для пользователя с именем Аюш является /bin/sh.

# cat /etc/passwd | grep ayush
ayush:x:1110:1108:Ayush Balamukunda Sahu:/accounts/ayush:/bin/sh

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

# usermod -s /bin/bash ayush

Введите следующую команду, чтобы проверить результат.

# cat /etc/passwd | grep ayush
ayush:x:1110:1108:Ayush Balamukunda Sahu:/accounts/ayush:/bin/bash

5. Установите собственный комментарий для учетной записи пользователя.

Чтобы установить собственный комментарий для учетной записи пользователя, используйте -c вариант с usermod команда.

# usermod -c "Ayush Balamukunda Sahu" ayush

Введите следующую команду, чтобы проверить результат.

# cat /etc/passwd | grep  ayush
ayush:x:1108:1108:Ayush Balamukunda Sahu:/home/ayush:/bin/sh

6. Заблокируйте пароль пользователя.

Чтобы заблокировать пароль пользователя, используйте -L вариант с usermod.

В этом примере я блокирую пароль для пользователя с именем Аюш.

# usermod -L ayush

Введите следующую команду, чтобы проверить, заблокирован ли пароль пользователя.

Если вы заметили, у зашифрованного пароля есть восклицательный знак (!) перед ним, что подтверждает, что пароль пользователя заблокирован.

# cat /etc/shadow | grep  ayush
ayush:!$6$CWccMhl1UHqKQ5zX$Uthk2h7.l1zma7irpFp3SoAhDnaZ5/doa1uHornq8fnEcMNiTBG03PkTAZudwXPvQt1RBjpxMnAuTuw.Tanon0:18662:0:99999:7:::
Чтобы заблокировать пароль пользователя

Но такой замок позволит переключение на пользователя или аутентификация на основе ключей для пользователя.

Введите следующую команду для полной блокировки.

# usermod -L -e 1 ayush

7. Разблокируйте пароль пользователя.

Чтобы разблокировать пароль пользователя, используйте -U вариант с usermod команда.

Эта команда разблокирует пароль пользователя, удалив восклицательный знак (!) перед зашифрованным паролем.

# usermod -U ayush

8. Установите незашифрованный пароль для учетной записи пользователя.

Выполните следующую команду, чтобы установить незашифрованный пароль для пользователя.

Здесь я устанавливаю незашифрованный пароль для пользователя с именем Аюш.

# usermod -p [email protected] ayush

Введите следующую команду, чтобы проверить результат.

# cat /etc/shadow | grep ayush
ayush:[email protected]:18662:0:99999:7:::

9. Измените основную группу пользователя.

Чтобы изменить основную группу (GID) существующего пользователя, передайте -g опция для команды usermod.

В настоящее время идентификатор основной группы пользователя с именем ayush является 1108.

Примечание: Вы можете использовать команда id для печати информации о пользователе и группе для указанного пользователя ИЛИ для текущего пользователя.

# id ayush
uid=1110(ayush) gid=1108(ayush) groups=1108(ayush)

Следующая команда изменит идентификатор основной группы пользователя (GID) из 1108 к 1006.

Примечание: Вы также можете ввести идентификатор группы вместо имени группы.

# usermod -g group1 ayush

Выполните следующую команду, чтобы проверить, изменился ли идентификатор группы.

# id ayush
uid=1110(ayush) gid=1006(group1) groups=1006(group1)

10. Добавление пользователя в несколько групп.

Чтобы добавить пользователя в несколько вторичных / дополнительных групп, пройдите -G вариант для usermod команда.

В настоящее время пользователь с именем Аюш не является членом какой-либо вторичной группы.

# id ayush
uid=1110(ayush) gid=1006(group1) groups=1006(group1)

Следующая команда добавит пользователя в группы с именем группа2, группа3, группа4, группа5.

# usermod -G group2,group3,group4,group5 ayush

Введите следующую команду, чтобы проверить результат.

# id ayush
uid=1110(ayush) gid=1006(group1) groups=1006(group1),1007(group2),1008(group3),1009(group4),1010(group5)

Другой вариант поставляется с usermod команда, которая помогает добавлять пользователей в дополнительные группы, и эта опция -a.

Тогда в чем разница между вариантом -G а также -a.

Попробуем разобраться с помощью Сценария.

Прямо сейчас у меня есть пользователь с именем Аюш кто является членом вторичных групп, названных группа2, группа3, группа4, группа5.

# id ayush
uid=1110(ayush) gid=1006(group1) groups=1006(group1),1007(group2),1008(group3),1009(group4),1010(group5)

Теперь я хочу сделать этого пользователя членом группа6 не выходя из существующей группы.

Возможно ли это с помощью опции -G. Давайте посмотрим.

# usermod -G group6 ayush

Результат:

Как вы видете, Аюш в настоящее время является членом группа6 и был удален из всех остальных групп.

# id ayush
uid=1120(ayush) gid=1006(group1) groups=1006(group1),1109(group6)

Мы должны использовать оба варианта -a а также -G вместе, чтобы выполнить задание.

# usermod -aG group6 ayush

Результат:

# id ayush
uid=1120(ayush) gid=1006(group1) groups=1006(group1),1007(group2),1008(group3),1009(group4),1010(group5),1109(group6)

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

Логин пользователя можно изменить с помощью команды usermod.

Для этого используйте -l вариант с usermod.

В этом примере я меняю логин пользователя с именем Аюш.

# id ayush
uid=1108(ayush) gid=1108(ayush) groups=1108(ayush)

Следующая команда изменит существующее имя для входа, т.е. Аюш к сисадмин.

# usermod -l sysadmin ayush

Поскольку мы изменили имя пользователя для входа в систему, давайте попробуем получить доступ к сведениям о старом имени через id команда.

# id ayush
id: ‘ayush’: no such user

И как и ожидалось id команде не удалось найти ни одного пользователя с именем Аюш но доступ к пользовательской информации можно получить под новым именем.

# id sysadmin
uid=1108(sysadmin) gid=1108(ayush) groups=1108(ayush)

12. Установите новый идентификатор пользователя (UID) для учетной записи пользователя.

Чтобы установить новый идентификатор пользователя (UID) для учетной записи пользователя, используйте -u вариант с usermod команда.

# id ayush
uid=1110(ayush) gid=1006(group1) groups=1006(group1),1007(group2),1008(group3),1009(group4),1010(group5)

Следующая команда изменит существующий идентификатор пользователя (UID), т.е. 1110 к 1120.

# usermod -u 1120 ayush

Введите следующую команду, чтобы проверить результат.

# id ayush
uid=1120(ayush) gid=1006(group1) groups=1006(group1),1007(group2),1008(group3),1009(group4),1010(group5)

13. Справка / доступ к странице руководства

Используйте следующие команды для доступа к странице руководства / странице справки usermod команда.

# man usermod
# man --help

Вы можете посетить следующие веб-сайты, чтобы получить дополнительную информацию о usermod.

Заключение

Надеюсь, вы узнали что-то из этой статьи и, возможно, обнаружили, что usermod это очень важная команда в Linux.

Я изо всех сил старался включить в это руководство все функции команды usermod.

Теперь хотелось бы услышать ваши мысли.

Было ли это руководство полезно для вас?

Или, может быть, у вас есть вопросы.

Разве я не включил в это руководство какую-либо команду?

Оставьте комментарий ниже.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *