Linux – это семейство операционных систем, базирующихся на ядре Linux. Большинство из них распространяется как свободное и открытое программное обеспечение, как и само ядро Linux.
Одной из ключевых характеристик Linux является ее многопользовательская архитектура. Это означает, что на одном компьютере может существовать множество учетных записей. Каждая из них имеет свое собственное рабочее пространство, настройки и ресурсы. Благодаря этому пользователи получают возможность работать на одной машине одновременно, изолируя свои данные и деятельность друг от друга.
В данной инструкции мы рассмотрим процесс создания нового пользователя Linux в консольном режиме.
tech
Создание нового пользователя Linux
Чтобы добавить пользователя в Linux, необходимо воспользоваться специальной командой. Ее синтаксис описан ниже:
useradd [список_опций] имя_пользователя
Для выполнения данной команды у учетной записи обязательно должны быть привилегии sudo
.
Чтобы изучить полный список возможных опций для команды useradd
, достаточно ввести в консоль команду:
useradd -h
Их список приведен на картинке ниже:
Если вы создали учетную запись, но забыли добавить какую-либо опцию – ничего страшного. Для таких случаев в Linux существует команда usermod
, которая предназначена для изменения параметров и настроек уже существующей учетной записи:
usermod [опции] имя_пользователя
Теперь, когда вы знакомы с синтаксисом команды useradd
и возможными опциями, которые помогут правильно настроить учетную запись, мы перейдем к практической части данной главы – добавлению пользователя Linux в систему через консоль.
Пример №1. Изменение настроек по умолчанию
В данном примере мы изменим текущие настройки по умолчанию для создания учетной записи на новые.
Для начала изучим нынешние настройки, используя следующую команду:
useradd -D
Например, при аренде готового сервера в Timeweb Cloud с операционной системой Ubuntu 22.04 эти настройки будут иметь следующий вид:
Ниже, мы изменим значения опций SHELL
и HOME
:
useradd -D -b /home/WorkingProject -s /bin/bash
Данная команда изменяет значения по умолчанию домашнего каталога и оболочки для новых пользователей.
Проверим, что изменения вступили в силу:
useradd -D
Новые параметры успешно применены.
Все новые пользователи, созданные после этого, будут иметь указанные выше параметры.
Пример №2. Простой пользователь
В данном примере мы создадим самого обычного пользователя. В первую очередь, откроем терминал и войдем в систему под суперпользователем, если это еще не сделано.
su
Чтобы создать пользователя в Linux, вводим изученную ранее команду с специальными опциями:
useradd -m user123
Здесь опция -m
создаст домашний каталог для пользователя по указанному в файле /etc/default/useradd
пути.
Пользователь создан, но он сейчас находится в заблокированном состоянии. Исправить это можно, задав ему пароль. Для этого в терминал вводим команду:
passwd user123
Проверим, что новая учетная запись действительно создана. Для этого откроем файл:
nano /etc/passwd
На картинке ниже новая учетная запись расположена в конце файла.
Ваши настройки могут отличаться от тех, что представлены на картинке. Все зависит от содержания файла /etc/default/useradd
.
Пример №3. Пользователь с уникальной домашней директорией и ограниченным сроком действия
Во втором примере мы изменим путь к домашней директории на уникальный, а также укажем, что аккаунт будет действителен до определенной даты.
Чтобы создать нового пользователя Linux c уникальной домашней директорией и ограниченным сроком действия учетной записи, вводим в терминал следующую команду:
useradd -m -d /Work/SeptemberProject -e 2023-10-01 septemberuser
Разблокируем учетную запись, указав к ней пароль:
passwd septemberuser
Теперь проверим, что наш новый пользователь был успешно создан. Для начала посмотрим путь к домашней директории:
nano /etc/passwd
Как видно по картинке ниже, расположение домашней директории совпадает с указанной в команде useradd
.
Также, дополнительным подтверждением служит переход в домашнюю директорию, где расположен каталог нового пользователя.
Для проверки сроков действия аккаунта в системе Linux можно воспользоваться командой chage
:
chage -l septemberuser
Как видно по картинке ниже, 1 октября 2023 года учетная запись перестает быть действительной.
Также, запустив приведенную выше команду без параметров, вы можете изменить срок действия учетной записи и другие параметры данной опции.
Пример №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
был успешно добавлен в систему с учетом всех перечисленных в команде опций.
Вы можете заметить, что в файле присутствует адрес домашнего каталога, однако по факту он создан не будет.
Как видно по картинке выше, кроме директории пользователя 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, рассмотрели несколько примеров для более детального понимания этого процесса, а также привели ряд полезных файлов, связанных с учетными записями пользователей и групп.
Больше привык к
adduser
т.к. более дружественный, так же имеет много дополнительных флагов для тонкой настройки и как то проще и приятнее им пользоваться.Да, хорошее уточнение насчет
adduser
, работа с ним может быть проще. В другой нашей инструкции по добавлению пользователей на сервер мы использовали как раз его.