Пользователи — это отдельные учетные записи в многопользовательской операционной системе Linux. В этой статье рассмотрены основные аспекты работы с ними: создание, удаление, просмотр свойств.
Определяем своего пользователя
Итак, вы подключились к серверу Linux по ssh и скорее всего знаете под каким пользователем, так как использовали это имя для подключения. Если же не знаете, то, скорее всего имя пользователя будет в приглашении командной строки, его ещё называют промтом.

Если у вас приглашение командной строки не содержит имя пользователя, то узнать его можно из системной переменной USER:
$ echo $USER alex
Или с помощью команды whoami:
$ whoami alex
Свойства пользователя
А ещё, чтобы узнать под кем вы работаете в данный момент, вы можете выполнить команду id. Она покажет не только имя вашего пользователя, но и группы, в которых он состоит. А также вы увидите уникальный идентификатор вашего пользователя (UID) и уникальные идентификаторы групп (GID).
$ id uid=1000(alex) gid=1000(alex) группы=1000(alex),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),100(users),106(netdev)
Из вывода понятно что мы работаем под пользователем alex, его uid=1000. Его основная (первичная) группа alex, её gid=1000. И пользователь состоит в других группах, точно также видны их GID.
Чтобы посмотреть информацию о другом пользователе просто укажите его. Например посмотрим на свойства пользователя root:
$ id root uid=0(root) gid=0(root) группы=0(root)
Список всех пользователей можно посмотреть в файле /etc/passwd. В этом файле каждая строка определяет каждого пользователя, например посмотрим на пользователя alex и root:
$ grep alex /etc/passwd alex:x:1000:1000:alex,,,:/home/alex:/bin/bash $ grep root /etc/passwd root:x:0:0:root:/root:/bin/bash
Строка описывает пользователя и состоит из следующих полей:
- Имя пользователя.
- Пароль. Если вместо пароля используется символ «x», значит пароль хранится в виде хэша в файле /etc/shadow.
- Уникальный номер пользователя (UID).
- Уникальный номер основной (первичной) группы (GID).
- Комментарий (произвольное поле, часто используется для ФИО).
- Домашний каталог пользователя.
- Командная оболочка.
То-есть пользователи Linux имеют разные свойства:
- имя пользователя;
- уникальный идентификатор (UID);
- в каких группах он состоит;
- домашний каталог;
- командная оболочка.
Создание нового пользователя
В Linux пользователи создаются с помощью двух команд: useradd и adduser. Они выполняют одну и ту же задачу, но с разным уровнем удобства и автоматизации. Ещё стоит заметить что создание нового пользователя, как и его удаление требует прав администратора.
useradd
— это базовая команда, которая просто создаёт учётную запись пользователя без дополнительных настроек. Эта команда имеет следующие особенности:
- требует ручного указания параметров (домашний каталог, оболочка, группа и т. д.);
- не создаёт пароль (нужно отдельно использовать команду
passwd
).
Пример использования:
$ sudo useradd -m -s /bin/bash -U username # создаёт пользователя alice с домашним каталогом и группой $ sudo passwd username # задаёт пароль вручную
Разбор параметров:
-m
— создать домашний каталог;-s <оболочка>
— указать командную оболочку;-U
— создать группу с тем же именем что и у пользователя.
Пароль ещё можно создать с помощью параметра -p <пароль>
, но он не будет зашифрованным, поэтому так делать категорически не рекомендуется.
adduser
— это Perl-скрипт, обёртка над useradd, который делает процесс создания нового пользователя интерактивным. То есть, при создании нового пользователя у вас будут запрошены: пароль, имя пользователя и другие данные. Скрипт автоматически создаст домашний каталог пользователя, группу. А также копирует файлы из /etc/skel в домашний каталог.
Пример использования:
$ sudo adduser username # запускает интерактивный процесс создания пользователя
Таким образом для создания пользователей используются две команды:
- useradd — для скриптов и автоматизации.
- adduser — для удобства ручного добавления пользователей.
Переключение на другого пользователя
Для переключения на другого пользователя используется команда su (от англ. «switch user»). Эта команда переключает на указанного пользователя, а если мы не укажем пользователя, то переключимся на пользователя root:
$ su username # переключимся на пользователя username $ su # переключимся на пользователя root
После ввода команды система запросит пароль пользователя. А если мы выполняем su
от имени root, то пароль не запрашивается и сразу происходит переключение на указанного пользователя.
Кроме этого, команда su
позволяет выполнять команды от имени другого пользователя без входа в сессию:
$ su -c "whoami" username
По умолчанию команда su
— сохраняет текущее окружение (переменные, рабочий каталог). То есть выполнив su alice
, вы переключитесь на пользователя alice, но останетесь в том каталоге, в котором были, все переменные окружения у вас останутся от старого пользователя. Чтобы изменить это поведение нужно использовать su -
. Это создаёт новую сессию с окружением целевого пользователя (как при обычном входе в систему). Примеры:
$ su - alice # переключение на пользователя alice (с заменой всех переменных) $ su - # переключение на пользователя root (с заменой всех переменных)
Для использования su нужно знать пароль целевого пользователя. Но в некоторых системах (например, Ubuntu по умолчанию) пароль root не задан, и вместо su используют sudo. Про sudo вы можете почитать статью [Использование sudo]. Команда su — удобный инструмент для администрирования, но в современных системах часто предпочитают sudo для более гибкого управления правами.
Чтобы отключиться от пользователя на которого вы переключились нужно использовать команду exit:
$ su - alice # переключение на пользователя alice $ exit # вернулись к предыдущему пользователю
Удаление пользователя
Для удаления пользователя в Linux используется команда userdel. Она часто используется с двумя опциями:
-r
— удаляет домашнюю директорию и почтовый ящик пользователя.-f
— принудительное удаление (завершает все процессы запущенные под этим пользователем).
$ sudo userdel -rf username
Изменение пароля пользователя
Команда passwd — стандартный способ изменения пароля пользователя в Linux. Для изменения своего пароля не нужно указывать имя пользователя:
$ passwd
Система запросит ваш текущий пароль и затем попросит ввести новый пароль дважды для подтверждения.
Для смены пароля другого пользователя (требуются права root) нужно указать имя этого пользователя:
$ sudo passwd username
При вводе пароля символы не отображаются — это нормально. Система может отвергать слишком простые пароли, но пользователь root может установить любой пароль без проверки сложности.
Помимо пользователей в Linux есть группы, подробнее про них в статье [Группы в Linux].
Если понравилась статья, подпишись на мой канал в VK или Telegram.