Как создать пользователя в Linux и дать ему права sudo
Как в терминале Ubuntu и Debian создать пользователя, дать ему права sudo, сменить пароль, заблокировать и удалить. Чем adduser отличается от useradd, почему без -a в usermod теряются группы и как разрешить одну команду без пароля.

Содержание
- 1Как создать пользователя: adduser
- useradd: если adduser нет
- Где это всё записано
- 2Как дать пользователю права sudo
- Главная ошибка: usermod -G без -a
- Разрешить одну команду без пароля
- 3Пароли
- 4Заблокировать, не удаляя
- 5Переименовать пользователя
- 6Группы
- 7Как удалить пользователя
- 8Переключиться на другого пользователя
- 9Пользователь для SSH
- 10Шпаргалка
- 11Главные советы
- 12Частые вопросы
- Как создать пользователя в Ubuntu?
- Как дать пользователю права sudo?
- Почему пишет «is not in the sudoers file»?
- Чем adduser отличается от useradd?
- Как посмотреть список пользователей в Linux?
- Как удалить пользователя вместе с домашней папкой?
- Как разрешить команду через sudo без пароля?
Новый сервер почти всегда начинается с одного и того же: у вас есть root или пользователь из установщика, а работать нужно под отдельной учётной записью. Сайту нужен свой пользователь, коллеге — свой доступ, а входить по SSH под root вообще плохая идея. Всё это делается пятью-шестью командами, но в них легко ошибиться: одна пропущенная буква в usermod молча удаляет пользователя из всех групп.
Ниже — по порядку: создать пользователя, дать ему sudo, управлять паролем, заблокировать и удалить. Все команды и выводы проверены на Ubuntu 24.04, в Debian они такие же.
Как создать пользователя: adduser
В Ubuntu и Debian самый удобный способ — adduser. Он задаёт вопросы по шагам и сам делает всё нужное: домашнюю папку, группу, оболочку bash и пароль.
sudo adduser ivaninfo: Adding user `ivan' ...
info: Selecting UID/GID from range 1000 to 59999 ...
info: Adding new group `ivan' (1002) ...
info: Adding new user `ivan' (1002) with group `ivan (1002)' ...
info: Creating home directory `/home/ivan' ...
info: Copying files from `/etc/skel' ...
New password:
Retype new password:
passwd: password updated successfully
Changing the user information for ivan
Enter the new value, or press ENTER for the default
Full Name []: Ivan Petrov
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
info: Adding new user `ivan' to supplemental / extra groups `users' ...
info: Adding user `ivan' to group `users' ...Пароль при вводе не отображается — даже звёздочками. Это нормально. Вопросы про комнату и телефоны можно пропустить клавишей Enter, полное имя — тоже.
useradd: если adduser нет
useradd — низкоуровневая команда, которая есть в любом дистрибутиве, включая Fedora, Arch и CentOS. Но по умолчанию она делает минимум: без ключей не создаст домашнюю папку, не задаст оболочку bash и пароль. Правильный вызов:
sudo useradd -m -s /bin/bash -c "Ivan Petrov" ivan
sudo passwd ivanЗдесь -m — создать домашнюю папку, -s — оболочка, -c — комментарий (полное имя). Пока не выполнен passwd, учётная запись заблокирована: passwd -S показывает статус L, войти с паролем нельзя.
adduser | useradd | |
|---|---|---|
| Где есть | Debian, Ubuntu, Mint | везде |
| Домашняя папка | создаёт | только с -m |
| Оболочка bash | да | только с -s /bin/bash |
| Пароль | спрашивает сразу | отдельно через passwd |
| Для скриптов | неудобен — задаёт вопросы | удобен |
Где это всё записано
Учётные записи хранятся в обычном текстовом файле /etc/passwd:
grep ivan /etc/passwdivan:x:1002:1002:Ivan Petrov,,,:/home/ivan:/bin/bashПоля через двоеточие: имя, x (пароль лежит отдельно, в /etc/shadow), UID, номер основной группы, полное имя, домашняя папка и оболочка. Обычные пользователи в Ubuntu получают UID от 1000, системные (www-data, sshd) — меньше.
Список всех «живых» пользователей без системных:
awk -F: '$3>=1000 && $3<65534 {print $1, $6, $7}' /etc/passwdРедактировать /etc/passwd руками не нужно: для всего есть команды ниже.
Как дать пользователю права sudo
В Ubuntu и Debian администраторы — это все, кто состоит в группе sudo. Добавить в неё:
sudo usermod -aG sudo ivanПроверить:
groups ivanivan : ivan sudo usersПока пользователь не в группе, на любую команду с sudo он получает:
ivan is not in the sudoers file.В Fedora, CentOS, Rocky и AlmaLinux та же роль у группы wheel: sudo usermod -aG wheel ivan.
Посмотреть, что именно пользователю разрешено:
sudo -l -U ivanUser ivan may run the following commands on server:
(ALL : ALL) ALL(ALL : ALL) ALL — можно всё, от имени любого пользователя.
Главная ошибка: usermod -G без -a
Ключ -a (append) значит «добавить к существующим группам». Без него usermod -G заменяет все дополнительные группы списком из команды. Я проверил на тестовом пользователе:
$ id petr
uid=30034(petr) gid=30034(petr) groups=30034(petr),100(users)
$ sudo usermod -G sudo petr
$ id petr
uid=30034(petr) gid=30034(petr) groups=30034(petr),27(sudo)Группа users пропала без единого предупреждения. На реальном сервере так теряют доступ к docker, www-data или к общей папке Samba. Пишите всегда -aG вместе.
Разрешить одну команду без пароля
Иногда пользователю не нужен полный sudo — например, деплой-скрипту достаточно перезапускать nginx. Права настраиваются отдельным файлом в /etc/sudoers.d/, и редактировать его нужно только через visudo:
sudo visudo -f /etc/sudoers.d/deployСодержимое файла:
deploy ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginxПользователь deploy сможет выполнять ровно sudo systemctl restart nginx, без пароля, и больше ничего. Путь к программе указывайте полный — узнать его можно командой which systemctl.
Пароли
Сменить свой пароль — просто passwd. Чужой — через sudo, старый пароль при этом не спрашивается:
sudo passwd ivanСтатус пароля:
sudo passwd -S annaanna P 2026-10-27 0 99999 7 -1Вторая колонка — главное: P — пароль задан, L — учётная запись заблокирована, NP — пароля нет. Дальше — дата смены и сроки.
Заставить пользователя сменить пароль при следующем входе — удобно, когда вы выдаёте временный:
sudo passwd -e ivanПодробности о сроках действия показывает chage:
sudo chage -l annaLast password change : Oct 27, 2026
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7Учётная запись, которая сама отключится в определённый день — например, для временного подрядчика:
sudo chage -E 2026-12-31 ivanЗаблокировать, не удаляя
Если сотрудник ушёл, а его файлы ещё нужны, учётную запись лучше заблокировать:
sudo usermod -L ivan # заблокировать пароль
sudo usermod -U ivan # разблокироватьПосле -L статус в passwd -S меняется с P на L. Но важно: блокировка пароля не закрывает вход по SSH-ключу. Чтобы закрыть всё, дополнительно отключите оболочку или срок действия:
sudo usermod -s /usr/sbin/nologin ivan
sudo chage -E 0 ivanПереименовать пользователя
Сменить имя и заодно домашнюю папку:
sudo usermod -l petr2 petr
sudo usermod -d /home/petr2 -m petr2Первая команда меняет имя, вторая — переносит домашнюю папку (-m перемещает содержимое). Делайте это, когда пользователь не залогинен и его процессы не запущены.
Группы
Группы удобны, чтобы дать нескольким людям доступ к одной папке:
sudo groupadd editors # создать группу
sudo usermod -aG editors anna # добавить пользователя
getent group editors # кто в группе
sudo gpasswd -d anna editors # убрать из группыeditors:x:30035:annaДальше папке назначается группа (sudo chgrp -R editors /srv/docs) и права на запись для группы. Как устроены права и что значат цифры вроде 775 — в калькуляторе chmod.
Как удалить пользователя
sudo deluser ivan # удалить, домашняя папка останется
sudo deluser --remove-home ivan # удалить вместе с /home/ivanУбрать из группы, не удаляя самого пользователя — тоже deluser, но с двумя именами:
sudo deluser ivan sudoinfo: Removing user `ivan' from group `sudo' ...В других дистрибутивах — sudo userdel -r ivan (ключ -r удаляет домашнюю папку).
Переключиться на другого пользователя
- 👤
su - ivan— войти под пользователем ivan (нужен его пароль). Дефис загружает его окружение и переходит в его домашнюю папку. - 🔑
sudo -i -u ivan— то же, но с вашим паролем, если у вас есть sudo. - ▶️
sudo -u www-data php script.php— выполнить одну команду от имени другого пользователя. Так удобно запускать скрипты сайта с правами сайта, а не root.
Как войти под самим root и стоит ли это делать — в отдельной статье root в Ubuntu.
Пользователь для SSH
Чтобы новый пользователь входил по ключу, его публичный ключ кладётся в ~/.ssh/authorized_keys. Проще всего — с вашего компьютера:
ssh-copy-id ivan@serverПосле этого вход под root по SSH можно отключить совсем. Как это сделать, а заодно настроить брандмауэр и fail2ban, — в статье Защита Ubuntu Server.
Шпаргалка
| Задача | Команда |
|---|---|
| Создать пользователя | sudo adduser имя |
| Создать (любой дистрибутив) | sudo useradd -m -s /bin/bash имя && sudo passwd имя |
| Дать sudo | sudo usermod -aG sudo имя |
| Проверить группы | groups имя или id имя |
| Что разрешено в sudo | sudo -l -U имя |
| Сменить пароль | sudo passwd имя |
| Сменить пароль при входе | sudo passwd -e имя |
| Заблокировать / разблокировать | sudo usermod -L имя / -U |
| Убрать из группы | sudo deluser имя группа |
| Удалить с домашней папкой | sudo deluser --remove-home имя |
Главные советы
- У каждого — свой пользователь. Отдельные учётки для людей, сайтов и бэкапов: видно, кто что сделал, и права не смешиваются.
- Всегда
-aG, а не-G. Без-ausermod молча удалит пользователя из всех остальных групп. - Перезайдите после добавления в группу. Новые права применяются только при новом входе.
- Не давайте полный sudo без нужды. Одна команда без пароля через
/etc/sudoers.d/безопаснее. - sudoers — только через visudo. Он проверит синтаксис, и вы не сломаете sudo для всех.
- Ушёл сотрудник — сначала блокировка.
usermod -L, nologin иchage -E 0, а удаление — когда файлы больше не нужны.
Частые вопросы
Как создать пользователя в Ubuntu?
Командой sudo adduser имя. Она создаст домашнюю папку и группу, спросит пароль и полное имя. В других дистрибутивах используйте sudo useradd -m -s /bin/bash имя, а пароль задайте командой sudo passwd имя.
Как дать пользователю права sudo?
Добавьте его в группу sudo: sudo usermod -aG sudo имя. В Fedora и CentOS группа называется wheel. Права заработают после того, как пользователь выйдет и войдёт снова.
Почему пишет «is not in the sudoers file»?
Пользователь не состоит в группе sudo и не указан в /etc/sudoers. Добавьте его командой sudo usermod -aG sudo имя от имени администратора или root. Если вы только что это сделали — перезайдите в систему.
Чем adduser отличается от useradd?
adduser — удобная обёртка в Debian и Ubuntu: задаёт вопросы и сама создаёт домашнюю папку, группу и пароль. useradd есть во всех дистрибутивах, но без ключей -m и -s создаёт пользователя без домашней папки и с оболочкой sh, а пароль задаётся отдельно.
Как посмотреть список пользователей в Linux?
Все учётные записи, включая системные, — getent passwd или cat /etc/passwd. Только обычных пользователей: awk -F: '$3>=1000 && $3<65534 {print $1}' /etc/passwd. Кто сейчас в системе — who.
Как удалить пользователя вместе с домашней папкой?
sudo deluser --remove-home имя в Ubuntu и Debian или sudo userdel -r имя в других дистрибутивах. Перед этим сохраните нужные файлы и проверьте, не запущены ли от него процессы: ps -u имя.
Как разрешить команду через sudo без пароля?
Создайте файл командой sudo visudo -f /etc/sudoers.d/имя и добавьте строку вида имя ALL=(ALL) NOPASSWD: /usr/bin/systemctl restart nginx. Пользователь сможет выполнять без пароля только эту команду.
Если статья пригодилась — отметьте, это помогает выбирать темы
Статья помогла?
Комментарии
Пока никто не написал. Будьте первым — вопрос или свой опыт одинаково полезны.