useradd — создание нового пользователя linux

В предыдущей статье был рассмотрен случай того, как быстро создать пользователя linux. Это удобно, когда пользователь сидит рядом и готов диктовать свои данные и вводить дважды пароль к своему аккаунту. Однако, при автоматическом создании пользователя данный случай вряд ли подходит. Хотелось бы, чтобы все данные могли быть сразу введены в систему из переменных. И такое возможно! Для этого есть масса опций команды useradd, позволяющих передать системе все данные без диалога напрямую.



Помощь по команде useradd и её опциям в linux

Для того, чтобы разобраться, какие опции у команды useradd есть, нужно вызвать в консоли эту команду с опцией -h. В итоге получим краткую инструкцию со списком всех опций:

root@amorale:~# useradd -h
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

Команда useradd и её опции в linux

Рассмотрим подробно, какие опции команды useradd есть и что они делают.

-b
Задание базовой папки для домашней директории нового пользователя нового аккаунта.

-c
Добавляет данные GECOS нового пользователя (это про номер телефона и номер комнаты, где можно иногда встретить этого пользователя).

-d
Создаёт рабочую папку пользователя для его нового аккаунта (этой опцией задаётся домашняя директория пользователя).

-D
Показывает или меняет настройки создания нового пользователя в системе.

-e
Задаёт срок жизни создаваемого аккаунта пользователя после истечения которого, аккаунт блокируется и пользователь не может войти в систему.

-f
Задаёт время жизни пароля пользователя. После истечения которого, система потребует у пользователя сменить его пароль.

-g
Задаёт группу или ID группы, в которую нужно поместить нового пользователя.

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

-h
Выдаст подсказку по команде useradd (ту, что я привёл выше).

-k
Задаёт папку альтернативного шаблона создания пользователя.

-K
Перезапись данных по умолчанию, находящихся в /etc/login.defs

-l
Не вносить данные о создаваемом пользователе в системные логи. (Видимо опция для взломщиков системы.) =D

-m
Создаёт домашнюю папку пользователя (даже если пользователь не выполнил вход в систему, а в настройках это требуется для создания директории пользователя).

-M
Не создаёт домашнюю папку пользователя (если пользователь не выполнил вход в систему, а в настройках этого не требуется для создания директории пользователя). Или например, если пользователь — это процесс, которому не нужна домашняя директория.

-N
Не создавать группу для этого пользователя с именем, как у этого пользователя. (Нефиг плодить сущности тогда, когда они не нужны.)

-o
Разрешить создать пользователя с не уникальным именем. При этом в системе могут быть созданы пользователи с одинаковыми UID.

-p
Задать пароль создаваемого пользователя.

-r
Создание системного аккаунта.

-R
Создать ещё одного админа (новый пользователь с правами root)

-s
Путь до shell для нового пользователя.

-u
Задать UID (user ID) аккаунта нового пользователя. (Иначе он будет присвоен автоматически исходя из настроек системы и свободных ID)

-U
Создать группу с именем таким же, как у создаваемого пользователя.

-Z
Использовать специальные данные SEUSER для SELinux записи пользователя.

Цветом я выделил опции, которые могут понадобиться для создания нового пользователя на сервере с виртуальными хостами для разных WWW-проектов.

Важное замечание

Пароль пользователя, передаваемый функции useradd должен быть предварительно зашифрован. Как это сделать, подробно рассмотрено в → этой статье.

Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню