Пользователи и sudo вместо root
Как завести рабочего пользователя, выдать ему sudo, перенести ключи SSH и перестать заходить на машину под root.
Обновлено 23 августа 2026 г.
Машина выдаётся с полным root-доступом, и первое желание — так под root и работать. Это удобно ровно до первой опечатки в rm -rf. Рабочая схема другая: обычный пользователь на каждый день, root — через sudo и только когда это действительно нужно.
Завести пользователя
Debian и Ubuntu:
adduser artem
usermod -aG sudo artem
AlmaLinux и CentOS Stream:
adduser artem
passwd artem
usermod -aG wheel artem
Группа отличается: sudo в семействе Debian, wheel в семействе RHEL. Проверить права:
sudo -l -U artem
Перенести ключи SSH
Ключи, добавленные во вкладке «Доступ» панели /hosting/vds/<id>, попадают пользователю root. Новому пользователю их нужно положить самому:
mkdir -p /home/artem/.ssh
cp /root/.ssh/authorized_keys /home/artem/.ssh/
chown -R artem:artem /home/artem/.ssh
chmod 700 /home/artem/.ssh
chmod 600 /home/artem/.ssh/authorized_keys
Права здесь не формальность: при слишком свободных правах sshd молча откажется принимать ключ.
Проверьте вход новым пользователем в отдельном окне терминала, не закрывая текущее:
ssh artem@<адрес>
sudo whoami
Только после успешной проверки переходите к отключению входа root.
Как пользоваться sudo
sudo systemctl restart nginx
sudo -i
sudo -u www-data ls /var/www
sudo -i даёт полноценную root-оболочку — для серии команд, а не для постоянной работы. Каждое обращение к sudo пишется в журнал, и это ваш след при разборе инцидента:
journalctl -t sudo -n 50
grep sudo /var/log/auth.log
Подробнее о журналах — кто заходил на машину.
Права для служб
Отдельная частая ошибка — запускать приложение от root «чтобы работало». Для каждой службы заводите системного пользователя без оболочки:
useradd --system --no-create-home --shell /usr/sbin/nologin appsrv
chown -R appsrv:appsrv /opt/app
Тогда дыра в приложении не отдаёт злоумышленнику всю машину сразу.
Частые ошибки
| Ошибка | Причина | Решение |
|---|---|---|
artem is not in the sudoers file | Не в группе или не перелогинились | usermod -aG sudo artem, новый вход |
| Ключ не принимается | Права на .ssh шире 700 или владелец root | chown и chmod как выше |
| Пароль sudo не подходит | У пользователя не задан пароль | passwd artem |
| Правка sudoers сломала sudo | Синтаксическая ошибка в файле | Только visudo; ремонт через диск восстановления |
Правьте
/etc/sudoersисключительно командойvisudo— она проверяет синтаксис перед сохранением. Сломанный файл лишает sudo сразу всех.