Как создавать пользователей в Linux (команда useradd)

Создание пользователей в Linux с помощью команды useradd

Linux — многопользовательская система, то есть с одной и той же системой могут работать несколько человек одновременно. Если одну систему используют несколько человек, рекомендуется создать учётную запись для каждого из них, чтобы обеспечить их безопасность и конфиденциальность.

В Linux существует два основных типа пользователей. Первый тип — обычные пользователи, создаваемые администратором, а второй — системные пользователи, создаваемые системой и приложениями и используемые для запуска служб. В зависимости от уровня прав обычные пользователи подразделяются на стандартных и административных. Предоставлять административные права следует только в случае крайней необходимости и только тем пользователям или службам, которым вы доверяете.

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

В этой статье мы объясним, как создавать новые учетные записи пользователей с помощью команды useradd .

команды useradd

useradd — это утилита командной строки, которую можно использовать для создания новых пользователей в системах Linux и Unix.

Общий синтаксис команды useradd следующий:

 useradd [ OPTIONS ] USERNAME

Только пользователь root или пользователи с привилегиями sudo могут создавать новые учетные записи пользователей с помощью useradd .

При вызове useradd создает новую учетную запись пользователя в соответствии с параметрами, указанными в командной строке, и значениями по умолчанию, установленными в файле /etc/default/useradd .

Переменные, определенные в этом файле, различаются от дистрибутива к дистрибутиву, что приводит к тому, что команда useradd выдает разные результаты в разных системах.

useradd также считывает содержимое файла /etc/login.defs . Этот файл содержит конфигурацию набора теневых паролей, такую как политика истечения срока действия паролей, диапазоны идентификаторов пользователей, используемых при создании системы, и обычных пользователей, и многое другое.

Как создать нового пользователя в Linux

Чтобы создать новую учетную запись пользователя, вызовите команду useradd указав после нее имя пользователя.

Например, чтобы создать нового пользователя с именем jane , выполните следующее:

 sudo useradd jane

При запуске без каких-либо параметров useradd создает новую учетную запись пользователя, используя настройки по умолчанию, указанные в файле /etc/default/useradd .

Команда добавляет запись в файлы /etc/passwd , /etc/shadow, /etc/group и /etc/gshadow .

Вы можете убедиться, что пользователь был создан, и просмотреть данные о нем, выполнив команду id:

 sudo id jane
 uid=1005(jane) gid=1005(jane) groups=1005(jane)

Чтобы войти в систему под новым пользователем, необходимо задать его пароль. Это можно сделать, выполнив команду passwd , указав после неё имя пользователя:

 sudo passwd jane

Команда предложит вам ввести и подтвердить пароль. Убедитесь, что вы используете надёжный пароль.

 Changing password for user jane. New password: Retype new password: passwd: all authentication tokens updated successfully.

Как добавить нового пользователя и создать домашний каталог

Домашний каталог — это каталог в многопользовательской операционной системе, содержащий файлы конкретного пользователя. Он также называется каталогом входа.

В большинстве дистрибутивов Linux при создании новой учетной записи пользователя с помощью useradd домашний каталог пользователя не создается.

Используйте опцию -m ( --create-home ), чтобы создать домашний каталог пользователя как /home/ :

 sudo useradd -m jane

Приведённая выше команда создаёт домашний каталог нового пользователя и копирует файлы из каталога /etc/skel в домашний каталог пользователя. Если вы перечислите файлы в каталоге /home/jane , вы увидите файлы инициализации:

 ls -la /home/jane/
 total 20 drwxr-x--- 2 jane jane 4096 Dec 20 17:58 . drwxr-xr-x 4 root root 4096 Dec 20 17:58 .. -rw-r--r-- 1 jane jane 220 Jan 6 2022 .bash_logout -rw-r--r-- 1 jane jane 3771 Jan 6 2022 .bashrc -rw-r--r-- 1 jane jane 807 Jan 6 2022 .profile

Пользователь имеет возможность записывать, редактировать и удалять файлы и каталоги в домашнем каталоге.

Создание пользователя с определенным домашним каталогом

По умолчанию useradd создаёт домашний каталог пользователя в /home . Используйте параметр d ( --home ), чтобы указать другое расположение.

Вот пример того, как создать нового пользователя с именем jane с домашним каталогом /opt/jane :

 sudo useradd -m -d /opt/jane jane

Создание пользователя с определенным пользователя

В операционных системах Linux и Unix пользователи идентифицируются по уникальному UID и имени пользователя.

Идентификатор пользователя (UID) — это уникальное положительное целое число, которое система Linux присваивает каждому пользователю. UID и другие политики управления доступом используются для определения типов действий, которые пользователь может выполнять с системными ресурсами.

По умолчанию при создании нового пользователя система назначает следующий доступный UID из диапазона идентификаторов пользователей, указанного в файле login.defs .

Вызовите команду useradd с опцией -u ( --uid ), чтобы создать пользователя с определенным UID.

Например, чтобы создать нового пользователя с именем jane и UID 1500 , введите:

 sudo useradd -u 1500 jane

Вы можете проверить UID пользователя, используя команду id :

 id -u jane
 1500

Создание пользователя с определенным группы

Группы Linux — это организационные единицы, используемые для организации и администрирования учётных записей пользователей в Linux. Основное назначение групп — определение набора привилегий, таких как разрешение на чтение, запись или выполнение для определённого ресурса, которые могут быть предоставлены пользователям внутри группы.

При создании нового пользователя команда useradd по умолчанию создает группу с тем же именем, что и имя пользователя, и тем же GID, что и UID.

Параметр -g ( --gid ) позволяет создать пользователя с заданной начальной группой входа. Вы можете указать либо имя группы, либо её идентификатор GID. Имя группы или её идентификатор GID должны уже существовать.

В следующем примере показано, как создать нового пользователя с именем jane и задать группу входа users :

 sudo useradd -g users jane

Чтобы проверить GID пользователя, используйте команду id :

 id -gn jane
 users

Создание пользователя и назначение нескольких групп

В операционных системах Linux существует два типа групп: первичные и вторичные (или дополнительные). Каждый пользователь может принадлежать только к одной первичной группе и ни к одному или нескольким вторичным группам.

Вы можете использовать опцию -G ( --groups ), чтобы указать список дополнительных (вспомогательных) групп для пользователя.

Следующая команда создает нового пользователя с именем john с основной группой users и дополнительными группами wheel и docker .

 sudo useradd -g users -G wheel,docker john

Вы можете проверить группы пользователей, введя:

 id john
 uid=1002(john) gid=100(users) groups=100(users),10(wheel),993(docker)

Создание пользователя с определенным номером входа

При создании нового пользователя его оболочка входа устанавливается в соответствии с той, что указана в файле /etc/default/useradd . В некоторых дистрибутивах оболочка по умолчанию — /bin/sh , в других — /bin/bash .

Параметр -s ( --shell ) позволяет указать оболочку входа нового пользователя.

Вот пример, показывающий, как создать нового пользователя с именем john и типом оболочки входа /usr/bin/zsh :

 sudo useradd -s /usr/bin/zsh john

Проверьте запись пользователя в файле /etc/passwd чтобы проверить оболочку входа пользователя:

 grep john /etc/passwd
 john:x :1001:1001::/home/john:/usr/bin/zsh

Создание пользователя с индивидуальным комментарием

В качестве комментария можно добавить полное имя пользователя или контактную информацию.

Чтобы добавить краткое описание для нового пользователя, используйте опцию -c ( --comment ).

В следующем примере мы создаем нового пользователя с именем john и текстовой строкой «Test User Account» в качестве комментария:

 sudo useradd -c "Test User Account" john

Комментарий сохраняется в файле /etc/passwd :

 grep john /etc/passwd
 john:x :1001:1001:Test User Account:/home/john:/bin/sh

Поле комментариев также известно как GECOS .

Создание пользователя с датой истечения срока действия

Чтобы указать время истечения срока действия новых учётных записей пользователей, используйте параметр -e ( --expiredate ). Это полезно для создания временных учётных записей.

Дату необходимо указывать в формате YYYY-MM-DD .

Например, чтобы создать новую учетную запись пользователя с именем john и сроком действия 22 января 2025 года, выполните следующее:

 sudo useradd -e 2025-01-22 john

Используйте команду chage для проверки даты истечения срока действия учетной записи пользователя:

 sudo chage -l john

Вывод будет выглядеть примерно так:

 Last password change : Dec 11, 2023 Password expires : never Password inactive : never Account expires : Jan 22, 2025 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 ) для создания учётной записи системного пользователя. Например, чтобы создать нового системного пользователя с именем john , введите:

 sudo useradd -r john

Системные пользователи создаются без ограничения срока действия. Их 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.

adduser — это дружественный интерактивный интерфейс для useradd , доступный в системах на базе Debian.

Если у вас есть вопросы, не стесняйтесь оставлять комментарии.

группа пользователей терминала

Связанные руководства

Источник

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *