Skip to content
VDS · Операційні системи

Користувачі та 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/m/<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@<address>
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 або власник — rootchown і chmod як вище
Пароль sudo не працюєУ користувача не встановлено парольpasswd artem
Редагування sudoers зламало sudoСинтаксична помилка у файліЛише visudo; виправлення через режим відновлення

Редагуйте /etc/sudoers виключно командою visudo — вона перевіряє синтаксис перед збереженням. Зламаний файл забирає sudo одразу в усіх.