Больше не нужно искать работу мечты — присоединяйтесь к команде Клауда

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

Илья Ушаков
Илья Ушаков
Технический писатель
30 августа 2023 г.
10090
6 минут чтения
Средний рейтинг статьи: 4

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

Image4

Изображение: habr.com

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

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

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

Чтобы добавить пользователя в Linux, необходимо воспользоваться специальной командой. Ее синтаксис описан ниже:

useradd [список_опций] имя_пользователя

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

Чтобы изучить полный список возможных опций для команды useradd, достаточно ввести в консоль команду:

useradd -h

Их список приведен на картинке ниже:

Image1

Если вы создали учетную запись, но забыли добавить какую-либо опцию – ничего страшного. Для таких случаев в Linux существует команда usermod, которая предназначена для изменения параметров и настроек уже существующей учетной записи:

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

Теперь, когда вы знакомы с синтаксисом команды useradd и возможными опциями, которые помогут правильно настроить учетную запись, мы перейдем к практической части данной главы – добавлению пользователя Linux в систему через консоль. 

Пример №1. Изменение настроек по умолчанию

В данном примере мы изменим текущие настройки по умолчанию для создания учетной записи на новые. 

Для начала изучим нынешние настройки, используя следующую команду:

useradd -D

Например, при аренде готового сервера в Timeweb Cloud с операционной системой Ubuntu 22.04 эти настройки будут иметь следующий вид:

84653632 5b2b 4384 8484 9507e4585269

Ниже, мы изменим значения опций SHELL и HOME:

useradd -D -b /home/WorkingProject -s /bin/bash

Данная команда изменяет значения по умолчанию домашнего каталога и оболочки для новых пользователей.

Проверим, что изменения вступили в силу:

useradd -D

Новые параметры успешно применены.

Image5

Все новые пользователи, созданные после этого, будут иметь указанные выше параметры.

Пример №2. Простой пользователь.

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

su

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

useradd -m user123

Здесь опция -m создаст домашний каталог для пользователя по указанному в файле /etc/default/useradd пути.

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

passwd user123

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

nano /etc/passwd

На картинке ниже новая учетная запись расположена в конце файла.

Image6

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

Пример №3. Пользователь с уникальной домашней директорией и ограниченным сроком действия 

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

Чтобы создать нового пользователя Linux c уникальной домашней директорией и ограниченным сроком действия учетной записи, вводим в терминал следующую команду:

useradd -m -d /Work/SeptemberProject -e 2023-10-01 septemberuser

Разблокируем учетную запись, указав к ней пароль:

passwd septemberuser

Теперь проверим, что наш новый пользователь был успешно создан. Для начала посмотрим путь к домашней директории:

nano /etc/passwd

Как видно по картинке ниже, расположение домашней директории совпадает с указанной в команде useradd.

Decb80f1 C733 4ee3 9d9b Ae3fa9216df7

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

5cb636de 7df3 4894 Ab52 735d72eacb25

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

chage -l septemberuser

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

F95ea87c E8ec 419b 910c 46e6ade043da

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

Пример №4. Системный пользователь без домашней директории, оболочки и группы

В последнем примере новый пользователь Linux не будет иметь домашней директории, командной оболочки и даже пользовательских групп. Единственное, что мы добавим, – это комментарий.

Команда для создания описанной выше учетной записи будет иметь следующий вид:

useradd -r -M -N -s /bin/false -c "Disabled system user" systemuser123

Ниже приведен список всех используемых опций и их описание:

  • -r – создает системную учетную запись;
  • -M – указывает на то, что домашний каталог не будет создан;
  • -N – указывает на то, что для этого системного пользователя не будет создана отдельная группа;
  • -s /bin/false – запрещает пользователю доступ к командной оболочке;
  • -c "Disabled system user" – добавляет комментарий.

Разблокируем учетную запись, указав к ней пароль:

passwd systemuser123

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

nano /etc/passwd

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

Image2

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

Без Названия

Как видно по картинке выше, кроме директории пользователя user123, созданного ранее, ничего нет.

Полезные файлы

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

  • /etc/passwd – этот файл содержит базовую информацию о пользователях, такую как их имена, числовые идентификаторы (UID), идентификаторы групп (GID), домашние каталоги и командные оболочки;
  • /etc/shadow – в этом файле хранятся зашифрованные пароли пользователей и другая секретная информация о них;
  • /etc/group – файл, содержащий информацию о группах пользователей, их идентификаторы (GID) и список учетных записей, принадлежащих к каждой группе;
  • /etc/gshadow – аналогичен файлу /etc/shadow, но содержит информацию о группах;
  • /etc/default/useradd – конфигурационный файл для команды useradd, который определяет значения по умолчанию при создании новых учетных записей;
  • /etc/skel/ – каталог-шаблон, содержащий файлы и настройки, которые будут скопированы в домашние каталоги новых пользователей при их создании.
  • /etc/login.defs – конфигурационный файл, который содержит общие настройки для учетных записей пользователей, такие как минимальная и максимальная длина пароля, максимальный срок действия учетной записи и другие параметры.

Заключение

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

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

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
30 августа 2023 г.
10090
6 минут чтения
Средний рейтинг статьи: 4
Комментарии 2
Артур А
Артур А
30.08.2023, 09:45

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

Timeweb
Timeweb
31.08.2023, 04:17

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