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

Сразу после установки вы входите на сервер под 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, брандмауэр.