Как создать пользователя в linux

Обновлено: 07.07.2024

В данной инструкции рассказывается о работе с пользователями Linux через терминал (с применением командной строки).

Создание

useradd <имя пользователя> [опции]

* опции не являются обязательными при создании пользователя.

* в данном примере создается учетная запись dmosk.

Для учетной записи стоит сразу создать пароль:

* после ввода, система попросит ввести пароль дважды.

Ключи (опции)

Ключ Описание и примеры
-b Задает базовый каталог для домашнего каталога
useradd dmosk -b /var/home
-c Создает комментарий для описания учетной записи
useradd dmosk -c "Пользователя для управления системой"
-d Полный путь к домашнему каталогу пользователя
useradd dmosk -d /home/newuser
-D Позволяет показать или изменить настройки по умолчанию, которые будут применяться при последующем создании пользователей
useradd dmosk -Ds /bin/bash
-e Дата, после которой учетная запись устареет.
useradd dmosk -e 2017-12-31
-f Число дней, после которого учетная запись с устаревшим паролем будет заблокирована
useradd dmosk -f 0
-g Задает основную группу
useradd dmosk -g altternativegroup
-G Задает дополнительные группы
useradd dmosk -G wheel
-k Путь к источнику скелета (файлы с шаблонами для нового пользователя)
useradd dmosk -k /var/skel
-m При создании пользователя создать домашний каталог
useradd dmosk -m
-M Не создавать домашний каталог
useradd dmosk -M
-N Не создавать основную группу с таким же именем, как у пользователя
useradd dmosk -N
-o Разрешает создание учетной записи с повторяющимся UID
useradd dmosk -u 15 -o
-p Задает пароль
useradd dmosk -p pass
-r Системная учетная запись (без домашнего каталога и с идентификаторами в диапазоне SYS_UID_MIN - SYS_UID_MAX из файла /etc/login.defs)
useradd dmosk -r
-R Каталог, в который выполняется chroot
useradd dmosk -R /var/chroot/home
-s Путь до оболочки командной строки
useradd dmosk -s /bin/csh
-u Задает UID
useradd dmosk -u 666
-U Имя группы будет таким же, как у пользователя
useradd dmosk -U

Актуальный список ключей можно получить командой useradd -h.

Редактирование

usermod <имя пользователя> [опции]

usermod dmosk -G wheel

* эта команда добавит пользователя dmosk в группу wheel

Удаление

userdel <имя пользователя> [опции]

Блокировка

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

usermod -L <имя пользователя>

usermod -L dmosk

Чтобы разблокировать пользователя, вводим:

usermod -U <имя пользователя>

Работа с группами

1. Добавление группы:

groupadd <группа> [опции]

groupmod <группа> [опции]

3. Удаление группы:

groupdel <группа> [опции]

4. Добавление пользователя в группу:

Выполняется через команду usermod:

usermod -a -G <группы через запятую> <пользователь>

5. Удаление из группы:

Выполняется с помощью gpasswd:

gpasswd --delete <пользователь> <группы через запятую>

Список пользователей

Посмотреть список пользователей можно в файле /etc/passwd:

Мы увидим что-то на подобие:

root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
.

Как правило, большая часть данных пользователей является системными — их UID меньше 1000 и больше 60000.

Более функциональная команда для отображения содержимого файла passwd — getent:

Можно найти пользователя по идентификатору:

getent passwd 1000

Получить список не системных пользователей:

Получить только список логинов не системных учетных записей:

Примеры работы с учетными записями

useradd

Создать пользователя, добавить его в группу и создать домашнюю директорию:

useradd dmosk -G wheel -m

Создать пользователя с определенными UID и GID (соответственно идентификаторы пользователя и группы):

useradd dmosk -u 900 -g 950

* группа с используемым идентификатором (в данном примере 950) уже должна быть создана заранее с использованием команды groupadd.

Создать пользователя и указать путь к домашней директории:

useradd dmosk -d /home/newdmosk

Создать учетную запись без возможности входа в систему:

useradd dmosk -s /sbin/nologin

usermod

Потребовать сменить пароль при следующем входе в систему:

chage -d 0 dmosk

Поменять пользователю основную группу:

usermod dmosk -g kdonewgroup

Задать пользователю дополнительную группу с правами root:

usermod dmosk -G sudo

Добавить пользователя в группу:

usermod -a -G group dmosk

* в данном примере мы добавим пользователя dmosk в группу group.

Сменить домашнюю директорию:

usermod -d /var/www/dmosk dmosk

* данной командой мы меняем для пользователя dmosk домашнюю директорию на /var/www/dmosk.

Основу управления правами доступа в Linux и уровнем привилегий в Linux составляют именно пользователи. Изначально, еще при проектировании системы существовал пользователь root, которому позволено выполнять любые действия и другие пользователи, права которых настраиваются с помощью вступления их в группы Linux и установки прав на каталоги.

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

Создание пользователя в Linux

Вся информация о пользователях находится в файле /etc/passwd. Мы могли бы создать пользователя linux просто добавив его туда, но так делать не следует, поскольку для этой задачи существуют специальные утилиты. Одна из таких утилит, это useradd. Рассмотрим ее подробнее.

Команда useradd

Это довольно простая команда, которая есть во всех дистрибутивах Linux. Она позволяет зарегистрировать нового пользователя или изменить информацию об уже имеющемся. Во время создания можно даже создать домашний каталог пользователя и скопировать в него системные файлы. Рассмотрим синтаксис команды:

$ useradd опции имя_пользователя

Все довольно просто, дальше нам нужно рассмотреть основные опции команды, с помощью которых вы будете настраивать нового пользователя:

  • -b - базовый каталог для размещения домашнего каталога пользователя, по умолчанию /home;
  • -c - комментарий к учетной записи;
  • -d - домашний каталог, в котором будут размещаться файлы пользователя;
  • -e - дата, когда учетная запись пользователя будет заблокирована, в формате ГГГГ-ММ-ДД;
  • -f - заблокировать учетную запись сразу после создания;
  • -g - основная группа пользователя;
  • -G - список дополнительных групп;
  • -k - каталог с шаблонами конфигурационных файлов;
  • -l - не сохранять информацию о входах пользователя в lastlog и faillog;
  • -m - создавать домашний каталог пользователя, если он не существует;
  • -M - не создавать домашнюю папку;
  • -N - не создавать группу с именем пользователя;
  • -o - разрешить создание пользователя linux с неуникальным идентификатором UID;
  • -p - задать пароль пользователя;
  • -r - создать системного пользователя, не имеет оболочки входа, без домашней директории и с идентификатором до SYS_UID_MAX;
  • -s - командная оболочка для пользователя;
  • -u - идентификатор для пользователя;
  • -D - отобразить параметры, которые используются по умолчанию для создания пользователя. Если вместе с этой опцией задать еще какой-либо параметр, то его значение по умолчанию будет переопределено.

Теперь, когда вы знаете основные необходимые нам параметры утилиты мы можем перейти к разбору того, как выполняется создание нового пользователя linux. Сначала давайте посмотрим какие параметры будут применены для пользователя по умолчанию:


Как видите, по умолчанию домашний каталог пользователя будет создан в /home и будет использоваться оболочка /bin/sh. Теперь создадим минимального пользователя с минимальными настройками:

sudo useradd test


Был создан самый простой пользователь, без оболочки и пароля, а также без групп. Теперь немного усложним задачу и создадим пользователя с паролем и оболочкой /bin/bash:

sudo useradd -p password -s /bin/bash test1

Для того чтобы получать доступ к системным ресурсам пользователю нужно быть участником групп, у которых есть доступ к этим ресурсам. Дополнительные группы пользователя задаются с помощью параметра -G. Например, разрешим пользователю читать логи, использовать cdrom и пользоваться sudo:

sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash test2

Также, можно установить дату, когда аккаунт пользователя будет отключен автоматически, это может быть полезно для пользователей, которые будут работать временно:

sudo useradd -G adm,cdrom,wheel -p password -s /bin/bash -e 01:01:2018 test2

Некоторых пользователей интересует создание пользователя с правами root linux, это очень просто делается с помощью useradd, если комбинировать правильные опции. Нам всего лишь нужно разрешить создавать пользователя с неуникальным uid, установить идентификатор в 0 и идентификатор основной группы тоже в 0. Команда будет выглядеть вот так:

sudo useradd -o -u 0 -g 0 -s /bin/bash newroot


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

Создание нового пользователя linux в GUI

В графическом интерфейсе системы создать нового пользователя linux еще проще. Рассмотрим окружение Gnome, хотя и в KDE тоже есть аналогичная функция. Войдите в главное меню и откройте параметры системы:


Затем откройте "Пользователи":


Поскольку утилита запущена от имени обычного пользователя вы ничего не можете сделать. Поэтому нажмите кнопку "Разблокировать":


Только после этого используйте кнопку со знаком плюс для создания нового пользователя Linux:


В открывшемся окне нужно заполнить все поля. Но тут намного больше ограничений, чем в методе через терминал. Вы не можете задать слишком простой пароль, а также нельзя настроить группы. Можно только указать будет ли пользователь включен в группу wheel с помощью выбора типа пользователя - администратор или обычный:


После этого создание пользователя linux завершено, новый пользователь появится в списке.

Выводы

В этой статье мы рассмотрели как создать пользователя linux с помощью терминала или в графическом интерфейсе системы. Оба способа имеют свои преимущества. Например, способ в терминале намного гибче, но в то же время графический способ дает больше контроля над процессом. Если у вас остались вопросы, спрашивайте в комментариях!

При вызове без опции -D команда useradd создаёт новую учётную запись пользователя, используя значения, указанные в командной строке, плюс значения по умолчанию из системы. В зависимости от параметров командной строки команда useradd обновит системные файлы, а также может создать домашний каталог нового пользователя и скопировать исходные файлы.

По умолчанию для нового пользователя также будет создана группа (смотрите опции -G, -N, -U и USERGROUPS_ENAB).

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

заканчиваться знаком доллара. Это можно описать регулярным выражением: [a-z_][a-z0-9_-]*[$]?

Имена пользователей могут быть длиной не более 32 знаков.

Как создать нового пользователя в Debian, Kali Linux, Linux Mint, Ubuntu

Для создания нового пользователя запустите команду вида:

Замените НОВЫЙ_ПОЛЬЗОВАТЕЛЬ на желаемое имя.

Установите пароль для нового пользователя:

Как создать нового пользователя в Arch Linux, Manjaro, BlackArch и их производных

Для создания нового пользователя с sudo (замените НОВЫЙ_ПОЛЬЗОВАТЕЛЬ на настоящее имя) выполните команду вида::


Установите пароль для созданного пользователя:

Опции команды useradd

Рассмотрим несколько важных опций утилиты useradd.

-s, --shell ОБОЛОЧКА

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

-m, --create-home

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

По умолчанию, если этот параметр не указан и CREATE_HOME не включён, домашние каталоги не создаются.

-g, --gid GROUP

Имя или числовой идентификатор первичной группы пользователя. Группа с таким именем должна существовать. Идентификатор группы должен указывать на уже существующую группу.

Если не указано иное, поведение useradd будет зависеть от переменной USERGROUPS_ENAB в /etc/login.defs. Если для этой переменной задано значение «yes» (или в командной строке указано -U/--user-group), для пользователя будет создана группа с тем же именем, что и его имя для входа. Если для переменной задано значение no (или в командной строке указано -N/--no-user-group), useradd установит для первичной группы нового пользователя значение, указанное переменной GROUP в /etc/default/useradd или 100 по умолчанию.

Список дополнительных групп, членом которых является пользователь. Каждая группа отделяется от следующей запятой без пробелов. На группы распространяются те же ограничения, что и на группу, указанную с параметром -g. По умолчанию пользователь принадлежит только к начальной группе.

-k, --skel SKEL_DIR

Скелетный каталог, содержащий файлы и каталоги, которые должны быть скопированы в домашний каталог пользователя, когда домашний каталог создаётся с помощью useradd.

Эта опция действительна, только если указана опция -m (или --create-home).

Если этот параметр не установлен, каталог скелета определяется переменной SKEL в /etc/default/useradd или, по умолчанию, etc/skel.

Если возможно, выполняется копирование ACL и расширенных атрибутов.

Изменение значений по умолчанию для создания новых пользователей

При вызове только с параметром -D, useradd отобразит текущие значения по умолчанию.


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

При вызове с -D плюс другие параметры, useradd обновит значения по умолчанию для указанных параметров. Допустимые варианты изменения по умолчанию:

-b, --base-dir BASE_DIR

Префикс пути к домашнему каталогу нового пользователя. Имя пользователя будет добавлено в конец BASE_DIR для формирования имени домашнего каталога нового пользователя, если опция -d не используется при создании новой учётной записи.

Этот параметр устанавливает переменную HOME в /etc/default/useradd.

-e, --expiredate EXPIRE_DATE

Дата, когда учётная запись пользователя заблокирована.

Эта опция устанавливает переменную EXPIRE в /etc/default/useradd.

-f, --inactive INACTIVE

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

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

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

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 команду с именем пользователя:

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


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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вы можете проверить группы пользователей, набрав

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

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

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

Например, чтобы создать нового пользователя username с /usr/bin/zsh именем типа оболочки входа в систему:

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

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

Опция -c ( --comment ) позволяет добавить краткое описание для нового пользователя. Обычно полное имя пользователя или контактная информация добавляются в качестве комментария.

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

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

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


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

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

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

Например, чтобы создать новую учетную запись с именем username expirey, установленным на 22 января 2019 года, вы должны выполнить:

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

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


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

Нет реальной технической разницы между системой и обычными (обычными) пользователями. Обычно системные пользователи создаются при установке ОС и новых пакетов.

Используйте опцию -r ( --system ), чтобы создать системную учетную запись пользователя. Например, чтобы создать нового системного пользователя с именем, username вы должны выполнить:

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


Изменение значений по умолчанию для useradd

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

Чтобы просмотреть текущие параметры по умолчанию, введите:

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

Допустим, вы хотите изменить оболочку входа по умолчанию с /bin/sh на /bin/bash . Для этого укажите новую оболочку, как показано ниже:

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


Вывод

Мы показали вам, как создавать новые учетные записи пользователей с помощью useradd команды. Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian, Fedora и Arch Linux.

useradd это утилита низкого уровня, пользователи Debian и Ubuntu могут использовать вместо нее команду Friendlier Adduser .

Читайте также: