Пользователи в Linux: adduser, sudo, список и удаление

Как устроены пользователи и группы, как создать учётную запись, выдать права через sudo, посмотреть, кто есть на сервере, и удалить лишних. Ubuntu, Debian, AlmaLinux.

7 октября 2026 г.·4 мин чтения·users, sudo, ubuntu, debian

Сразу после установки вы входите на сервер под root, которому разрешено всё. Для первых минут это удобно, но постоянно так работать опасно: одна опечатка в команде, и система сломана. А если сервером пользуется несколько человек, каждому нужен свой логин, чтобы в журнале было видно, кто что сделал. Поэтому первая задача на новом сервере — завести обычного пользователя и дать ему sudo.

Все команды проверены на VPS с Ubuntu 24.04 и Debian 12 — на tanaka.host оба образа ставятся при заказе сервера, а если что-то пойдёт не так, выручит консоль в кабинете.

Как это устроено

Для ядра пользователь — это число, UID. Имя ivan нужно людям, права проверяются по номеру. UID 0 — это root, и ему ядро разрешает всё, не глядя на права файлов. Обычные пользователи в Ubuntu и Debian получают номера с 1000, всё, что ниже, занято служебными учётными записями: под ними работают веб-сервер, база данных и прочие программы, войти под ними нельзя.

Список пользователей лежит в /etc/passwd: имя, UID, основная группа, домашняя папка и оболочка. Хэши паролей вынесены в /etc/shadow, который читает только root — /etc/passwd должен быть доступен всем программам, а хэши показывать всем нельзя.

Группы нужны, чтобы раздавать права не по одному, а сразу нескольким. Трём разработчикам нужна запись в папку сайта — их кладут в одну группу и дают права группе. По тому же принципу выдают права администратора: все участники группы sudo (на Ubuntu и Debian) или wheel (на AlmaLinux и Rocky) могут выполнять команды от root, написав перед ними sudo и введя свой пароль.

Что нужно: доступ по SSH под root — см. подключение по SSH.

1. Создайте пользователя

На Ubuntu и Debian удобнее adduser: она создаст домашнюю папку, скопирует в неё стандартные настройки и спросит пароль.

adduser ivan

Пароль вводится дважды, символы не отображаются. Полное имя, номер комнаты и телефоны можно пропустить клавишей Enter, в конце подтвердить Y.

На AlmaLinux, Rocky и других RHEL-системах adduser — это синоним useradd, который ничего не спрашивает. Там домашнюю папку и оболочку задают явно, а пароль ставят отдельной командой:

useradd -m -s /bin/bash ivan
passwd ivan

2. Выдайте права sudo

На минимальных образах Debian 12 пакета sudo может не быть. Проверьте и при необходимости поставьте:

apt update && apt install -y sudo

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

usermod -aG sudo ivan
id ivan

RHEL-семейство:

usermod -aG wheel ivan

В выводе id среди групп должна быть 27(sudo). Теперь проверьте, что права работают: переключитесь на пользователя и выполните что-нибудь через sudo.

su - ivan
sudo whoami

sudo спросит пароль пользователя ivan, не root. Если ответ — root, всё готово. Назад к root — exit.

Ключ -a обязателен. usermod -G sudo ivan без -a заменит весь список дополнительных групп на одну sudo, и пользователь вылетит из docker, www-data и всего, где был. Подробнее — в статье про usermod.

Дальше можно подключаться как ssh ivan@IP_СЕРВЕРА. Следующий шаг для безопасности — вход по SSH-ключу и запрет root.

3. Посмотрите, кто есть на сервере

В /etc/passwd вперемешку с людьми лежат десятки служебных записей. Отберите только обычных пользователей по UID:

# Имя, UID, домашняя папка и оболочка обычных пользователей
awk -F: '$3>=1000 && $3<65534 {print $1, $3, $6, $7}' /etc/passwd

# Кто входит в группу sudo
getent group sudo

Ещё несколько команд, которые пригодятся:

# Группы пользователя
groups ivan

# Кто сейчас подключён к серверу
who

# История входов на сервер
last -n 10

4. Смените пароль

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

# Пароль для пользователя ivan
passwd ivan

# Свой пароль
passwd

5. Удалите пользователя

deluser --remove-home удалит учётную запись вместе с домашней папкой и её заданиями cron:

deluser --remove-home anna

На RHEL-системах — userdel -r anna.

Сначала заберите файлы. --remove-home стирает /home/имя безвозвратно. Если там лежат проекты или ключи, скопируйте их заранее.

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

deluser ivan sudo          # Ubuntu, Debian
gpasswd -d ivan wheel      # AlmaLinux, Rocky

Частые ошибки

Симптом Причина и решение
sudo: command not found Пакет не установлен. Под root: apt install -y sudo. Если вы под обычным пользователем — сначала su - с паролем root.
ivan is not in the sudoers file Пользователь не в группе sudo/wheel. Добавьте через usermod -aG sudo ivan, затем пусть переподключится — группы применяются при новом входе.
Пользователь не может войти по SSH passwd -S ivan — во второй колонке должно быть P (пароль задан). Оболочка в последнем поле /etc/passwd должна быть /bin/bash, а не /usr/sbin/nologin. Если в SSH отключён вход по паролю — нужен ключ.

su или sudo

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

Дальше: usermod — изменение существующих пользователей, права доступа chmod и chown, брандмауэр.