- Как создавать пользователей в Linux (команда useradd)
- Команда useradd
- Как создать нового пользователя в Linux
- Как добавить нового пользователя и создать домашний каталог
- Создание пользователя с определенным домашним каталогом
- Создание пользователя с определенным идентификатором пользователя
- Создание пользователя с определенным идентификатором группы
- Создание пользователя и назначение нескольких групп
- Создание пользователя с определенной оболочкой входа
- Создание пользователя с произвольным комментарием
- Создание пользователя с датой истечения срока действия
- Создание системного пользователя
- Изменение значений useradd по умолчанию
- Выводы
Как создавать пользователей в Linux (команда useradd)
Linux — это многопользовательская система, что означает, что с одной и той же системой одновременно могут взаимодействовать несколько человек. Как системный администратор, вы обязаны управлять пользователями и группами системы, создавая и удаляя пользователей и назначая их различным группам .
В этой статье мы поговорим о том, как создавать новые учетные записи пользователей с помощью команды useradd .
Команда useradd
Общий синтаксис команды useradd следующий:
Только root или пользователи с привилегиями sudo могут использовать команду useradd для создания новых учетных записей пользователей.
При вызове useradd создает новую учетную запись пользователя в соответствии с параметрами, указанными в командной строке, и значениями по умолчанию, установленными в /etc/default/useradd .
Переменные, определенные в этом файле, различаются от дистрибутива к дистрибутиву, что приводит к тому, что команда useradd дает разные результаты в разных системах.
useradd также читает содержимое файла /etc/login.defs . Этот файл содержит конфигурацию для набора теневых паролей, например политику истечения срока действия пароля, диапазоны идентификаторов пользователей, используемых при создании системных и обычных пользователей, и многое другое.
Как создать нового пользователя в Linux
Чтобы создать новую учетную запись пользователя, вызовите команду useradd за которой следует имя пользователя.
Например, чтобы создать нового пользователя с именем username вы должны запустить:
При выполнении без каких-либо параметров useradd создает новую учетную запись пользователя, используя настройки по умолчанию, указанные в /etc/default/useradd .
Команда добавляет запись в /etc/passwd , /etc/shadow, /etc/group и /etc/gshadow .
Чтобы иметь возможность войти в систему как вновь созданный пользователь, вам необходимо установить пароль пользователя. Для этого запустите команду passwd за которой следует имя пользователя:
Вам будет предложено ввести и подтвердить пароль. Убедитесь, что вы используете надежный пароль.
Changing password for user username. New password: Retype new password: passwd: all authentication tokens updated successfully.
Как добавить нового пользователя и создать домашний каталог
В большинстве дистрибутивов Linux при создании новой учетной записи пользователя с помощью useradd домашний каталог пользователя не создается.
Используйте параметр -m ( —create-home ), чтобы создать домашний каталог пользователя как /home/username :
Приведенная выше команда создает домашний каталог нового пользователя и копирует файлы из каталога /etc/skel в домашний каталог пользователя. Если вы перечислите файлы в каталоге /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 :
Создание пользователя с определенным идентификатором группы
Группы Linux — это организационные единицы, которые используются для организации и администрирования учетных записей пользователей в Linux. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы.
При создании нового пользователя по умолчанию команда useradd создает группу с тем же именем, что и имя пользователя, и тем же GID, что и UID.
Параметр -g ( —gid ) позволяет вам создать пользователя с определенной начальной группой входа в систему. Вы можете указать имя группы или номер GID. Название группы или GID уже должно существовать.
В следующем примере показано, как создать нового пользователя с именем username и настроить группу входа на тип users :
sudo useradd -g users username
Чтобы проверить GID пользователя, используйте команду id :
Создание пользователя и назначение нескольких групп
В операционных системах Linux существует два типа групп: основная группа и дополнительная (или дополнительная) группа. Каждый пользователь может принадлежать ровно к одной основной группе и нулю или более вторичных групп.
Вы можете указать список дополнительных групп, членом которых будет пользователь, с помощью опции -G ( —groups ).
Следующая команда создает новый пользовательское имя username с первичными группами users и вторичными группами wheel и docker .
sudo useradd -g users -G wheel,developers 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 чтобы проверить оболочку входа пользователя:
username:x :1001:1001::/home/username:/usr/bin/zsh
Создание пользователя с произвольным комментарием
Параметр -c ( —comment ) позволяет добавить краткое описание нового пользователя. Обычно в качестве комментария добавляется полное имя пользователя или контактная информация.
В следующем примере мы создаем нового пользователя с именем username с текстовой строкой Test User Account в качестве комментария:
sudo useradd -c "Test User Account" username
Комментарий сохраняется в /etc/passwd :
username:x :1001:1001:Test User Account:/home/username:/bin/sh
Поле комментариев также известно как GECOS .
Создание пользователя с датой истечения срока действия
Чтобы определить время, когда истечет срок действия новых учетных записей пользователей, используйте параметр -e ( —expiredate ). Это полезно для создания временных учетных записей.
Дата должна быть указана в YYYY-MM-DD .
Например, чтобы создать новую учетную запись username с именем username со сроком действия, установленным на 22 января 2019 года, вы должны запустить:
sudo useradd -e 2019-01-22 username
Используйте команду chage чтобы проверить дату истечения срока действия учетной записи пользователя:
Результат будет выглядеть примерно так:
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 вы должны запустить:
Пользователи системы создаются без срока действия. Их UID выбираются из диапазона идентификаторов пользователей системы, указанного в файле login.defs , который отличается от диапазона, используемого для обычных пользователей.
Изменение значений useradd по умолчанию
Параметры useradd по умолчанию можно просмотреть и изменить с помощью параметра -D , —defaults или вручную отредактировав значения в /etc/default/useradd .
Чтобы просмотреть текущие параметры по умолчанию, введите:
Результат будет выглядеть примерно так:
GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
Допустим, вы хотите изменить оболочку входа по умолчанию с /bin/sh на /bin/bash . Для этого укажите новую оболочку, как показано ниже:
Вы можете убедиться, что значение оболочки по умолчанию изменено, выполнив следующую команду:
sudo useradd -D | grep -i shell
Выводы
Мы показали вам, как создавать новые учетные записи пользователей с помощью команды useradd . Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian, Fedora и Arch Linux.
useradd — это утилита низкого уровня, пользователи Debian и Ubuntu могут вместо этого использовать более удобную команду adduser .
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.