Команда useradd: создание пользователей в Linux (полное руководство)
Сегодня вы узнаете, как создавать пользователей в Linux с помощью команды useradd.
Как администратор Linux, вы обязаны создавать пользователей и группы, управлять политикой паролей и ее устареванием, следить за истечением срока действия учетной записи и так далее.
Я считаю, что управление пользователями и группами — одна из задач, которые администратор Linux должен выполнять каждый день, поэтому он должен иметь полное представление о таких командах, как useradd
, usermod
, userdel
, groupadd
, gpasswd
, id
Командование и так далее.
Предлагаемое чтение: Как использовать команду id в Linux
В этой статье я объясняю все функции команды useradd, а в будущих статьях я опубликую эту статью над другими командами управления пользователями и группами.
Итак, перейдем к теме.
Linux — это многоцелевая операционная система. Это означает, что вы можете войти в систему с любым количеством пользователей и выполнять свою работу.
Ключевые особенности команды useradd:
- Создавать новых пользователей
- Установите конкретный идентификатор пользователя (UID) и идентификатор группы (GID)
- Можно установить конкретный срок годности
- Изменить конфигурацию пользователя по умолчанию
- Создайте нового пользователя с измененным домашним каталогом
- Создать нового пользователя без домашнего каталога
- Добавить пользователя в несколько дополнительных / дополнительных групп
- Создайте нового пользователя с определенной оболочкой входа
- Можно устанавливать собственные комментарии
Прежде всего, давайте сосредоточимся на некоторых из наиболее важных опций, которые мы можем использовать с useradd
.
Параметры | Объяснение |
---|---|
-как это | Создать нового пользователя с произвольным комментарием |
-d —home-dir | домашний каталог новой учетной записи |
-D, —по умолчанию | Распечатать или изменить конфигурацию useradd по умолчанию |
-e, —expiredate | Дата истечения срока действия новой учетной записи |
-g, —gid | Имя или идентификатор основной группы новой учетной записи |
-G, —groups | Список дополнительных групп нового аккаунта |
-m, —create-home | Создайте домашний каталог пользователя |
-M, —no-create-home | Не создавайте домашний каталог пользователя |
-r, —system | Создать системную учетную запись |
-s, —shell | Оболочка входа в новую учетную запись |
-u, —uid | ID пользователя новой учетной записи |
—помощь | Отобразить страницу справки по команде useradd. |
Синтаксис:
Вы должны следовать синтаксису, приведенному ниже, чтобы использовать useradd
команда.
useradd [OPTIONS] USERNAME
1. Как создать нового пользователя
Чтобы создать нового пользователя в Linux, вы можете запустить useradd
или adduser
команда.
Примечание: Вы должны запустить useradd
командование как корень user, потому что при запуске этой команды он вносит изменения в следующие важные файлы конфигурации, владельцем которых является root.
- / etc / passwd
- / etc / shadow
- / etc / gshadow
- / etc / group
В этом примере я создаю пользователя с именем user1.
~$ sudo useradd user1
Операционная система Linux не позволяет пользователю входить в систему без пароля, и пользователь остается отключенным до тех пор, пока вы не установите пароль пользователя.
Введите следующую команду, чтобы установить пароль пользователя.
~$ sudo passwd user1
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Как только пользователь успешно создан, некоторые записи появляются в /etc/passwd
а также /etc/shadow
файлы, что очень важно понимать любому администратору.
Попробуем разобраться в обоих этих файлах.
Объяснение / etc / passwd:
Как я уже говорил, запись каждого пользователя находится в /etc/passwd
а также /etc/shadow
файлы.
Запись пользователя в /etc/passwd
файл выглядит примерно так.
Он содержит семь наиболее важных частей информации, относящейся к пользователю, и они разделены двоеточием (:
).
user1:x:1014:1017:Balamukunda N. Sahu:/home/user1:/bin/sh
user1
— Имя пользователяx
— Зашифрованный пароль1014
— ID пользователя (UID)1017
— ID группы (GID)Balamukunda N. Sahu
— Это поле зарезервировано для любых комментариев, связанных, например, с пользователем. Имя, Номер мобильного, так далее./home/user1
— Домашний каталог/bin/sh
— Оболочка

Объяснение / etc / shadow:
Точно так же запись пользователя в /etc/shadow
файл выглядит примерно так.
Он содержит восемь наиболее важных сведений, связанных с политикой учетной записи и паролей. Каждая деталь разделяется двоеточием (:
).
user1:$6$Pc5/I7cQ$PamAirk6pJJXRBkur3zBBa5jxiTvwFMSONBPkntHHKYTbeNd9EJRvdnzEJm4sOYqJnovr/8skSRgSCbKZrCpi1:18659:0:99999:7:::
user1
— Имя пользователя$6$Pc5/I7cQ$PamAirk6pJJXRBkur3zBBa5jxiTvwFMSONBPkntHHKYTbeNd9EJRvdnzEJm4sOYqJnovr/8skSRgSCbKZrCpi1
— Зашифрованный пароль18659
— (Последнее изменение пароля) — это дата последней смены пароля. В Linux для новых учетных записей пользователей дата эры (1 января 1970 г.) был установлен, с которого отсчитываются дни.0
— (Минимальный возраст пароля) — Это значение означает, что в следующий раз пользователю придется подождать столько дней, прежде чем сменить пароль. Значение по умолчанию здесь0
. Это означает, что пользователь может изменить пароль в любое время.99999
— (Максимальный возраст пароля) — Пользователь должен сменить пароль по истечении этих дней. Значение по умолчанию здесь99999
. Это означает, что пользователь может изменить пароль после99999
дней.7
— (Период предупреждения) — это значение означает, что срок действия пароля истечет через столько дней, и в течение этих дней пользователь получит предупреждающее сообщение о необходимости изменения пароля.- (Период бездействия) — дни после истечения срока действия пароля и до того, как учетная запись станет неактивной.
- (Дата истечения срока действия учетной записи) — это день, когда учетная запись была отключена. В Linux для новых учетных записей пользователей установлена дата эры (1 января 1970 г.), с которой отсчитываются дни.
- Зарезервировано для использования в будущем.
2. Создайте системную учетную запись.
Чтобы создать системную учетную запись, пройдите -r
использовать команду radd.
~$ useradd -r sysaccount
Независимо от того, создаете ли вы системного пользователя, обычного пользователя или группу для всех login.defs
иметь определенный диапазон идентификаторов.
Диапазон UID, определенный в /etc/login.defs
для системных аккаунтов это: 100
— 999
.
Это означает, что когда мы создаем нового системного пользователя, присвоенный ему UID будет из этого диапазона (100-999
).
В этом примере я создал системного пользователя с именем системный аккаунт. Введите следующую команду, чтобы проверить UID.
~$ id sysaccount
uid=974(sysaccount) gid=972(sysaccount) groups=972(sysaccount)
Как видите, это UID 972 назначается пользователю, находящемуся в заданном диапазоне.
3. Создайте пользователя с незашифрованным паролем.
Введите следующую команду, чтобы создать нового пользователя с незашифрованным паролем.
~$ sudo useradd -p [email protected] user13
Введите следующую команду, чтобы проверить результат.
~$ sudo cat /etc/shadow | grep user13
user13:[email protected]:18658:0:99999:7:::
Осторожность: Этот вариант не рекомендуется.
4. Создайте нового пользователя с определенным идентификатором пользователя (UID).
В Linux по умолчанию каждому пользователю присваивается уникальное числовое значение, называемое UID (идентификатор пользователя).
login.defs
— один из тех файлов, из которых команда useradd принимает входные данные для создания новых учетных записей пользователей.
- Какое значение UID присвоить пользователю.
- Каковы максимальные и минимальные пределы UID?
Все это определено в /etc/login.defs
файл. Обратите внимание на следующие детали, взятые из /etc/login.defs
файл.
# Min/max values for automatic uid selection in useradd
#
UID_MIN 1000
UID_MAX 60000
# System accounts
#SYS_UID_MIN 100
#SYS_UID_MAX 999
#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN 1000
GID_MAX 60000
# System accounts
#SYS_GID_MIN 100
#SYS_GID_MAX 999
Итак, как только мы запускаем команду useradd для создания нового пользователя, следующий доступный UID назначается путем взятия ссылки из login.defs
.
Итак, чтобы создать нового пользователя с определенным идентификатором пользователя (UID), передайте -u
опция для использования команды radd.
Здесь я создаю пользователя с именем user3 с UID 1003
.
~$ sudo useradd -u 1003 user3
Введите следующую команду, чтобы убедиться, что UID установлен правильно.
~$ id user3
uid=1003(user3) gid=1003(user3) groups=1003(user3)
Вы также можете выполнить следующую команду, чтобы убедиться в этом.
~$ cat /etc/passwd | grep user3
user3:x:1003:1003::/home/user3:/bin/sh
5. Создайте нового пользователя с определенным идентификатором группы (GID).
Точно так же каждой группе присваивается уникальное числовое значение, называемое GID (идентификатор группы).
Чтобы создать нового пользователя с определенным идентификатором группы (GID), передайте -g
опция для использования команды radd.
Здесь вы можете указать либо номер GID, либо название группы. Вам решать, но убедитесь, что группа, о которой вы говорите, доступна в системе.
Введите следующую команду, чтобы проверить доступные группы.
cat /etc/group
Здесь я создаю пользователя с именем user4 с GID 1004
.
Способ # 1 (Укажите номер GID):
~$ sudo useradd -g 1004 user4
Способ # 2 (Упомяните название группы):
~$ sudo useradd -g group1 user4
Введите следующую команду, чтобы убедиться, что GID установлен правильно.
~$ id user4
uid=1004(user4) gid=1004(group1) groups=1004(group1)
Вы также можете выполнить следующую команду, чтобы убедиться в этом.
~$ cat /etc/passwd | grep user4
user4:x:1004:1004::/home/user4:/bin/sh
Возьмем сценарий.
Задача: Создайте нового пользователя с индивидуальным UID и GID.
Отвечать: Введите следующую команду, чтобы выполнить задачу. Здесь я создаю пользователя с именем user9 с обычай UID 1009 и обычай GID 1008.
~$ sudo useradd -u 1009 -g 1008 user9
Введите следующую команду, чтобы проверить результат.
~$ id user9
uid=1009(user9) gid=1008(group5) groups=1008(group5)
6. Создайте нового пользователя с домашним каталогом.
Есть много дистрибутивов Linux, в которых домашний каталог пользователя не создается по умолчанию при запуске команды useradd.
Поэтому в таких случаях вы можете создать домашний каталог, передав -m
вариант для useradd
команда.
~$ useradd -m user12
7. Создайте нового пользователя с измененным домашним каталогом.
По умолчанию useradd
команда создает домашний каталог пользователей в /дом.
Но если вы по какой-то причине хотите установить другой каталог вместо домашнего каталога по умолчанию, это возможно.
В этом примере я создаю пользователя с именем user2 чей домашний каталог будет /division/users
.
~$ sudo useradd -d /division/users/ user2
Чтобы узнать, изменился ли домашний каталог, введите следующую команду.
~$ cat /etc/passwd | grep user2
user2:x:1002:1002::/division/users/:/bin/sh
8. Создайте нового пользователя без домашнего каталога.
Иногда из-за некоторых требований нам приходится создавать пользователей без домашнего каталога.
Но когда мы создаем пользователя, команда useradd автоматически создает домашний каталог пользователя как CREATE_HOME yes
устанавливается по умолчанию в login.defs
файл.
Поэтому мы должны заставить команду создать учетную запись пользователя без домашнего каталога.
Для этого передайте -M
возможность useradd
команда. Вот пример.
~$ useradd -M admin
Введите следующую команду, чтобы проверить, создан ли домашний каталог.
~$ cd /home/admin
bash: cd: /home/admin: No such file or directory
9. Создайте нового пользователя и добавьте его в несколько групп.
Чтобы добавить пользователя в несколько вторичных / дополнительных групп, пройдите -G
опция для использования команды radd.
В этом примере я создаю пользователя с именем user5 и добавление в группы с именем группа 1, группа2, группа3, группа4.
~$ sudo useradd -G group1,group2,group3,group4 user5
Введите следующую команду, чтобы проверить результат.
~$ id user5
uid=1005(user5) gid=1009(user5) groups=1009(user5),1004(group1),1005(group2),1006(group3),1007(group4)
10. Создайте учетную запись пользователя с определенной датой истечения срока действия.
Чтобы создать нового пользователя с определенной датой истечения срока действия, передайте -e
возможность useradd
.
Формат даты, который вам нужно соблюдать, это ГГГГ-ММ-ДД.
В этом примере я создаю пользователя с именем user10 со сроком годности 2021-01-31
.
~$ sudo useradd -e 2021-01-31 user10
Введите следующую команду, чтобы проверить, установлен ли срок годности.
~$ sudo chage -l user10
Last password change : Jan 31, 2021
Password expires : never
Password inactive : never
Account expires : Jan 31, 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
Есть еще один метод, с помощью которого мы можем проделать дополнительную работу, связанную с этим.
Используя некоторый синтаксис /etc/login.defs
В файле конфигурации мы можем включить такие функции, как истечение срока действия пароля, тайм-аут системы, предупреждение о смене пароля и т. д.
Возьмем сценарий.
Задача: Создайте нового пользователя со следующими функциями:
- Срок действия пароля должен истечь через 10 дней
- Разрешить ввод пароля 4 раза перед блокировкой системы
~$ useradd -K LOGIN_RETRIES=4 -K PASS_MAX_DAYS=10 testuser
11. Создайте нового пользователя с произвольным комментарием (краткое описание).
Пользовательский комментарий — это краткое описание, которое вы хотите упомянуть при создании пользователя, например полное имя, номер мобильного телефона, адрес пользователя и т. Д.
Чтобы создать нового пользователя с настраиваемым комментарием, передайте -c
возможность useradd
.
В этом примере я создаю пользователя с именем Bmsahu и упоминание моего полного имени в пользовательском комментарии.
~$ sudo useradd -c "Balamukunda N. Sahu" bmsahu
Введите следующую команду, чтобы проверить, установлен ли комментарий.
~$ cat /etc/passwd | grep bmsahu
bmsahu:x:1011:1014:Balamukunda N. Sahu:/home/bmsahu:/bin/sh
12. Создайте нового пользователя с определенной оболочкой входа.
Когда мы создаем нового пользователя, команда useradd ссылается на /etc/default/useradd
файл для настроек оболочки входа по умолчанию.
Вы можете создать нового пользователя с определенной оболочкой входа в систему. Для этого передайте -s
возможность usermod
команда.
В этом примере я создаю пользователя с именем user12 с оболочкой входа /bin/dash
.
~$ sudo useradd -s /bin/dash user12
Введите следующую команду, чтобы проверить результат.
~$ cat /etc/passwd | grep user12
user12:x:1012:1015::/home/user12:/bin/dash
13. Измените конфигурацию useradd по умолчанию.
Некоторые из настроек пользователя по умолчанию, такие как домашний каталог пользователя, оболочка входа, настройки спула почты, все определены в /etc/default/useradd
файл.
Введите следующую команду, чтобы вывести список пользовательских настроек по умолчанию.
~$ useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Если вы хотите изменить эти настройки по умолчанию, вы можете. Есть два способа изменить это.
Во-первых, вы можете внести изменения, отредактировав /etc/default/useradd
файл напрямую или вы можете изменить его с помощью команд.
Вот пример:
Давайте изменим оболочку входа с /bin/bash
к /bin/sh
.
~$ useradd -D -s /bin/sh
Введите следующую команду, чтобы проверить результат.
~$ useradd -D | grep -i shell
SHELL=/bin/sh
14. Создайте нового пользователя с неактивным паролем / сроком действия.
Для создания нового пользователя со сроком действия пароля необходимо пройти -f
возможность useradd
.
В этом примере я создаю пользователя с именем пользователь50 чей пароль истечет через 30 дней
~]# useradd -f 30 user50
Проверить, установлены ли дни истечения срока действия пароля или нет, мы можем в /etc/shadow
файл.
~$ cat /etc/shadow | grep user50
user50:!!:18660:0:99999:7:30::




Сценарий
Давайте рассмотрим сценарий, который прояснит вашу концепцию.
Вопрос: Создайте нового пользователя со следующими параметрами:
- Пользовательский комментарий
- Конкретный UID и GID
- Изменен домашний каталог
- Добавить пользователя в несколько дополнительных групп
- Конкретный срок годности
- и конкретная оболочка входа
Отвечать:
Введите следующую команду, чтобы выполнить данную задачу.
~$ useradd -u 1100 -g 1002 -c "Balamukunda N. Sahu" -G group1,group2,group3,group4,group5 -d /accounts/users/ -e 2021-02-02 -s /bin/bash user15
15. Справка / доступ к странице руководства
Используйте следующие команды для доступа к странице руководства / странице справки useradd
команда.
~$ useradd --help
~$ man useradd
Вы можете посетить следующие веб-сайты, чтобы получить дополнительную информацию о useradd
.
Заключение
Надеюсь, вы узнали что-то из этой статьи и, возможно, обнаружили, что useradd
это очень важная команда в Linux.
Я изо всех сил старался включить все функции useradd
в этом руководстве.
Теперь хотелось бы услышать ваши мысли.
Было ли это руководство полезно для вас?
Или, может быть, у вас есть вопросы.
Разве я не включил в это руководство какую-либо команду?
Оставьте комментарий ниже.