Команда 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
  1. user1 — Имя пользователя
  2. x — Зашифрованный пароль
  3. 1014 — ID пользователя (UID)
  4. 1017 — ID группы (GID)
  5. Balamukunda N. Sahu — Это поле зарезервировано для любых комментариев, связанных, например, с пользователем. Имя, Номер мобильного, так далее.
  6. /home/user1 — Домашний каталог
  7. /bin/sh — Оболочка
Объяснение файла / etc / passwd

Объяснение / etc / shadow:

Точно так же запись пользователя в /etc/shadow файл выглядит примерно так.

Он содержит восемь наиболее важных сведений, связанных с политикой учетной записи и паролей. Каждая деталь разделяется двоеточием (:).

user1:$6$Pc5/I7cQ$PamAirk6pJJXRBkur3zBBa5jxiTvwFMSONBPkntHHKYTbeNd9EJRvdnzEJm4sOYqJnovr/8skSRgSCbKZrCpi1:18659:0:99999:7:::
  1. user1 — Имя пользователя
  2. $6$Pc5/I7cQ$PamAirk6pJJXRBkur3zBBa5jxiTvwFMSONBPkntHHKYTbeNd9EJRvdnzEJm4sOYqJnovr/8skSRgSCbKZrCpi1 — Зашифрованный пароль
  3. 18659 — (Последнее изменение пароля) — это дата последней смены пароля. В Linux для новых учетных записей пользователей дата эры (1 января 1970 г.) был установлен, с которого отсчитываются дни.
  4. 0 — (Минимальный возраст пароля) — Это значение означает, что в следующий раз пользователю придется подождать столько дней, прежде чем сменить пароль. Значение по умолчанию здесь 0. Это означает, что пользователь может изменить пароль в любое время.
  5. 99999 — (Максимальный возраст пароля) — Пользователь должен сменить пароль по истечении этих дней. Значение по умолчанию здесь 99999. Это означает, что пользователь может изменить пароль после 99999 дней.
  6. 7 — (Период предупреждения) — это значение означает, что срок действия пароля истечет через столько дней, и в течение этих дней пользователь получит предупреждающее сообщение о необходимости изменения пароля.
  7. (Период бездействия) — дни после истечения срока действия пароля и до того, как учетная запись станет неактивной.
  8. (Дата истечения срока действия учетной записи) — это день, когда учетная запись была отключена. В Linux для новых учетных записей пользователей установлена ​​дата эры (1 января 1970 г.), с которой отсчитываются дни.
  9. Зарезервировано для использования в будущем.

2. Создайте системную учетную запись.

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

~$ useradd -r sysaccount

Независимо от того, создаете ли вы системного пользователя, обычного пользователя или группу для всех login.defs иметь определенный диапазон идентификаторов.

Диапазон UID, определенный в /etc/login.defs для системных аккаунтов это: 100999.

Это означает, что когда мы создаем нового системного пользователя, присвоенный ему 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 в этом руководстве.

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

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

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

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

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

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

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

Ваш адрес email не будет опубликован.