Linux – это семейство операционных систем, базирующихся на ядре Linux. Большинство из них распространяется как свободное и открытое программное обеспечение, как и само ядро Linux.
Изображение: habr.com
Одной из ключевых характеристик Linux является ее многопользовательская архитектура. Это означает, что на одном компьютере может существовать множество учетных записей. Каждая из них имеет свое собственное рабочее пространство, настройки и ресурсы. Благодаря этому пользователи получают возможность работать на одной машине одновременно, изолируя свои данные и деятельность друг от друга.
В данной инструкции мы рассмотрим процесс создания нового пользователя Linux в консольном режиме.
cloud
Чтобы добавить пользователя в Linux, необходимо воспользоваться специальной командой. Ее синтаксис описан ниже:
useradd [список_опций] имя_пользователя
Для выполнения данной команды у учетной записи обязательно должны быть привилегии sudo
.
Чтобы изучить полный список возможных опций для команды useradd
, достаточно ввести в консоль команду:
useradd -h
Их список приведен на картинке ниже:
Если вы создали учетную запись, но забыли добавить какую-либо опцию – ничего страшного. Для таких случаев в Linux существует команда usermod
, которая предназначена для изменения параметров и настроек уже существующей учетной записи:
usermod [опции] имя_пользователя
Теперь, когда вы знакомы с синтаксисом команды useradd
и возможными опциями, которые помогут правильно настроить учетную запись, мы перейдем к практической части данной главы – добавлению пользователя Linux в систему через консоль.
В данном примере мы изменим текущие настройки по умолчанию для создания учетной записи на новые.
Для начала изучим нынешние настройки, используя следующую команду:
useradd -D
Например, при аренде готового сервера в Timeweb Cloud с операционной системой Ubuntu 22.04 эти настройки будут иметь следующий вид:
Ниже, мы изменим значения опций SHELL
и HOME
:
useradd -D -b /home/WorkingProject -s /bin/bash
Данная команда изменяет значения по умолчанию домашнего каталога и оболочки для новых пользователей.
Проверим, что изменения вступили в силу:
useradd -D
Новые параметры успешно применены.
Все новые пользователи, созданные после этого, будут иметь указанные выше параметры.
В данном примере мы создадим самого обычного пользователя. В первую очередь, откроем терминал и войдем в систему под суперпользователем, если это еще не сделано.
su
Чтобы создать пользователя в Linux, вводим изученную ранее команду с специальными опциями:
useradd -m user123
Здесь опция -m
создаст домашний каталог для пользователя по указанному в файле /etc/default/useradd
пути.
Пользователь создан, но он сейчас находится в заблокированном состоянии. Исправить это можно, задав ему пароль. Для этого в терминал вводим команду:
passwd user123
Проверим, что новая учетная запись действительно создана. Для этого откроем файл:
nano /etc/passwd
На картинке ниже новая учетная запись расположена в конце файла.
Ваши настройки могут отличаться от тех, что представлены на картинке. Все зависит от содержания файла /etc/default/useradd
.
Во втором примере мы изменим путь к домашней директории на уникальный, а также укажем, что аккаунт будет действителен до определенной даты.
Чтобы создать нового пользователя 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 года учетная запись перестает быть действительной.
Также, запустив приведенную выше команду без параметров, вы можете изменить срок действия учетной записи и другие параметры данной опции.
В последнем примере новый пользователь 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
, работа с ним может быть проще. В другой нашей инструкции по добавлению пользователей на сервер мы использовали как раз его.