Как создать пользователей в Linux (команда useradd)
Как создать пользователей в Linux (команда useradd)
How to Create Users in Linux (useradd Command)
В этой статье мы поговорим о том, как создавать новые учетные записи пользователей с помощью useradd команды.

Linux - это многопользовательская система, что означает, что несколько человек могут одновременно взаимодействовать с одной и той же системой. Как системный администратор, вы несете ответственность за управление пользователями и группами системы, создавая и удаляя пользователей и назначая их различным группам .
Useradd
команда
Общий синтаксис useradd
команды выглядит следующим образом:
useradd [OPTIONS] USERNAME
Только root или пользователи с привилегиями sudo могут использовать
useradd
команду для создания новых учетных записей пользователей.
При вызове useradd
создает новую учетную запись пользователя в соответствии с параметрами, указанными в командной строке, и значениями по умолчанию, установленными в /etc/default/useradd
файле.
Переменные, определенные в этом файле, отличаются от распределения к распределению, что приводит к тому, что useradd
команда выдает разные результаты в разных системах.
useradd
также читает содержимое /etc/login.defs
файла. Этот файл содержит конфигурацию для набора теневых паролей, такую как политика истечения срока действия пароля, диапазоны идентификаторов пользователей, используемых при создании системных и обычных пользователей, и многое другое.
Как создать нового пользователя в Linux
Чтобы создать новую учетную запись пользователя, вызовите useradd
команду с именем пользователя.
Например, чтобы создать нового пользователя с именем, username
вы должны выполнить:
sudo useradd username
useradd
создает новую учетную запись пользователя с использованием настроек по умолчанию, указанных в /etc/default/useradd
файле.
Команда добавляет запись к /etc/passwd
, и файлы. /etc/shadow,
/etc/group
/etc/gshadow
Чтобы войти в систему как только что созданный пользователь, вам необходимо установить пароль пользователя. Для этого выполните passwd
команду с именем пользователя:
sudo passwd username
Вам будет предложено ввести и подтвердить пароль. Убедитесь, что вы используете надежный пароль.
Changing password for user username.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Как добавить нового пользователя и создать домашний каталог
В большинстве дистрибутивов Linux при создании новой учетной записи useradd
пользователя домашний каталог пользователя не создается.
Используйте опцию -m
( --create-home
), чтобы создать домашний каталог пользователя как /home/username
:
sudo useradd -m username
Приведенная выше команда создает домашний каталог нового пользователя и копирует файлы из /etc/skel
каталога в домашний каталог пользователя. Если вы перечислите файлы в /home/username
каталоге, вы увидите файлы инициализации:
ls -la /home/username/
drwxr-xr-x 2 username username 4096 Dec 11 11:23 .
drwxr-xr-x 4 root root 4096 Dec 11 11:23 ..
-rw-r--r-- 1 username username 220 Apr 4 2018 .bash_logout
-rw-r--r-- 1 username username 3771 Apr 4 2018 .bashrc
-rw-r--r-- 1 username username 807 Apr 4 2018 .profile
Внутри домашнего каталога пользователь может писать, редактировать и удалять файлы и каталоги.
Создание пользователя с определенным домашним каталогом
По умолчанию useradd
создает домашний каталог пользователя в /home
. Если вы хотите создать домашний каталог пользователя в другом месте, используйте опцию d
( --home
).
Вот пример, показывающий, как создать нового пользователя с именем username
в домашнем каталоге /opt/username
:
sudo useradd -m -d /opt/username username
Создание пользователя с определенным идентификатором пользователя
В Linux и Unix-подобных операционных системах пользователи идентифицируются по уникальному UID и имени пользователя.
Идентификатор пользователя (UID) - это уникальное положительное целое число, присваиваемое системой Linux каждому пользователю. UID и другие политики контроля доступа используются для определения типов действий, которые пользователь может выполнять над системными ресурсами.
По умолчанию при создании нового пользователя система назначает следующий доступный UID из диапазона идентификаторов пользователей, указанных в login.defs
файле.
Вызвать useradd
с опцией -u
( --uid
), чтобы создать пользователя с определенным UID. Например, чтобы создать нового пользователя username
с UID 1500
, введите:
sudo useradd -u 1500 username
Вы можете проверить UID пользователя, используя id
команду:
id -u username
1500
Создание пользователя с определенным идентификатором группы
Группы Linux - это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основной целью групп является определение набора привилегий, таких как чтение, запись или выполнение разрешения для данного ресурса, которые могут быть общими для пользователей в группе.
При создании нового пользователя стандартным поведением useradd
команды является создание группы с тем же именем, что и имя пользователя, и тем же GID, что и UID.
Опция -g
( --gid
) позволяет вам создать пользователя с определенной начальной группой входа. Вы можете указать либо имя группы, либо номер GID. Имя группы или GID уже должно существовать.
В следующем примере показано, как создать нового пользователя с именем username
и задать для группы входа users
тип:
sudo useradd -g users username
Чтобы проверить GID пользователя, используйте id
команду:
id -gn username
users
Создание пользователя и назначение нескольких групп
В операционных системах Linux существует два типа групп: основная группа и дополнительная (или дополнительная) группа. Каждый пользователь может принадлежать ровно к одной первичной группе и к нулю или нескольким вторичным группам.
Вы должны указать список дополнительных групп, членом которых будет пользователь, с помощью опции -G
( --groups
).
Следующая команда создает нового пользователя с именем username
основной группы users
и дополнительных групп wheel
и docker
.
sudo useradd -g users -G wheel,developers username
Вы можете проверить группы пользователей, набрав
id username
uid=1002(username) gid=100(users) groups=100(users),10(wheel),993(docker)
Создание пользователя с определенной оболочкой входа
По умолчанию оболочка для входа нового пользователя настроена на ту, которая указана в /etc/default/useradd
файле. В некоторых дистрибутивах по умолчанию установлена оболочка, /bin/sh
а в других - /bin/bash
.
Опция -s
( --shell
) позволяет указать оболочку для входа нового пользователя.
Например, чтобы создать нового пользователя username
с /usr/bin/zsh
именем типа оболочки входа в систему:
sudo useradd -s /usr/bin/zsh username
Проверьте запись пользователя в /etc/passwd
файле, чтобы проверить оболочку входа пользователя:
grep username /etc/passwd
username:x :1001:1001::/home/username:/usr/bin/zsh
Создание пользователя с пользовательским комментарием
Опция -c
( --comment
) позволяет добавить краткое описание для нового пользователя. Обычно полное имя пользователя или контактная информация добавляются в качестве комментария.
В следующем примере мы создаем нового пользователя username
с текстовой строкой Test User Account
в качестве комментария:
sudo useradd -c "Test User Account" username
Комментарий сохраняется в /etc/passwd
файле:
grep username /etc/passwd
username:x :1001:1001:Test User Account:/home/username:/bin/sh
Поле комментариев также известно как GECOS
.
Создание пользователя с датой истечения срока действия
Чтобы определить время истечения срока действия новых учетных записей, используйте параметр -e
( --expiredate
). Это полезно для создания временных учетных записей.
Дата должна быть указана в YYYY-MM-DD
формате.
Например, чтобы создать новую учетную запись с именем username
expirey, установленным на 22 января 2019 года, вы должны выполнить:
sudo useradd -e 2019-01-22 username
Используйте chage
команду для проверки срока действия учетной записи пользователя:
sudo chage -l username
Вывод будет выглядеть примерно так:
Last password change : Dec 11, 2018
Password expires : never
Password inactive : never
Account expires : Jan 22, 2019
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
Создание пользователя системы
Нет реальной технической разницы между системой и обычными (обычными) пользователями. Обычно системные пользователи создаются при установке ОС и новых пакетов.
Используйте опцию -r
( --system
), чтобы создать системную учетную запись пользователя. Например, чтобы создать нового системного пользователя с именем, username
вы должны выполнить:
sudo useradd -r username
Пользователи системы создаются без срока действия. Их UID выбираются из диапазона системных идентификаторов пользователей, указанных в login.defs
файле, который отличается от диапазона, используемого для обычных пользователей.
Изменение значений по умолчанию для useradd
По умолчанию useradd параметров можно просмотреть и изменить с помощью -D
, --defaults
опции, или вручную редактировать значения в /etc/default/useradd
файле.
Чтобы просмотреть текущие параметры по умолчанию, введите:
useradd -D
Вывод будет выглядеть примерно так:
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no
Допустим, вы хотите изменить оболочку входа по умолчанию с /bin/sh
на /bin/bash
. Для этого укажите новую оболочку, как показано ниже:
sudo useradd -D -s /bin/bash
Вы можете проверить, что значение оболочки по умолчанию изменено, выполнив следующую команду:
sudo useradd -D | grep -i shell
SHELL=/bin/bash
Вывод
Мы показали вам, как создавать новые учетные записи пользователей с помощью useradd
команды. Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian, Fedora и Arch Linux.
useradd
это утилита низкого уровня, пользователи Debian и Ubuntu могут использовать вместо нее команду Friendlier Adduser .