Введение
Linux — это многопользовательская система, что означает, что с одной и той же системой одновременно могут взаимодействовать несколько человек. Как системный администратор вы отвечаете за управление системными пользователями и группами, создавая и удаляя пользователей и назначая их различным группам.
В Linux вы можете создать учетную запись пользователя и назначить пользователя в разные группы с помощью команды useradd
. useradd
— низкоуровневая утилита, пользователи Debian и Ubuntu, скорее всего, будут использовать команду adduser.
В этой статье мы поговорим о том, как использовать команду useradd
и рассмотрим ее параметры.
Синтаксис команды Useradd
Общий синтаксис команды useradd
следующий:
useradd [OPTIONS] USERNAME
Чтобы использовать команду useradd
и создавать новых пользователей, вы должны войти в систему как root или как пользователь с доступом sudo.
При вызове useradd
создает новую учетную запись пользователя, используя параметры, указанные в командной строке, плюс значения по умолчанию, указанные в /etc/default/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
В домашнем каталоге пользователь может записывать, изменять и удалять файлы и каталоги.
Создание пользователя с определенным домашним каталогом
Если вы хотите создать домашний каталог пользователя в другом месте, в /home
каталоге по умолчанию используется параметр d
( --home
).
Например, чтобы создать нового пользователя с именем username
с домашним каталогом /opt/username
, вам нужно выполнить следующую команду:
sudo useradd -m -d /opt/username username
Создайте пользователя с определенным идентификатором пользователя
В операционных системах Linux и Unix пользователи идентифицируются по их уникальному идентификатору пользователя и имени пользователя.
Идентификатор пользователя (UID) — это уникальное положительное целое число, присваиваемое системой Linux каждому пользователю. UID вместе с другими политиками управления доступом используется для определения типов действий, которые пользователь может выполнять с системными ресурсами.
По умолчанию при создании нового пользователя система назначает следующий доступный UID из диапазона идентификаторов пользователей, указанного в файле login.defs
.
Используйте параметр -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
. В некоторых дистрибутивах Linux, таких как Ubuntu 18.04, оболочка по умолчанию установлена в /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
со сроком действия, установленным на 05 января 2020 г., запустите:
sudo useradd -e 2022-01-05 username
Вы можете использовать команду chage
для проверки даты истечения срока действия учетной записи пользователя:
sudo chage -l username
Вывод будет выглядеть следующим образом:
Last password change: Dec 11, 2018
Password expires: never
Password inactive: never
Account expires: Jan 05, 2020
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
.