Зачем создавать отдельных пользователей вместо работы под root

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

  • Усиление контроля доступа к критическим файлам;
  • Тщательное отслеживание действий каждого пользователя;
  • Минимизация последствий ошибок и потенциальных взломов;
  • Возможность временного расширения прав вместо беспрерывной работы под ролью администратора.

Корректное добавление пользователя через useradd и adduser

Очень важно понимать как добавить пользователей корректно. В Linux это можно сделать двумя способами: с помощью команды useradd и adduser.

Useradd

Useradd — это более базовая команда добавления пользователей, которая требует указания многих параметров через опции (например -m, для создание домашнего каталога).

Эту команду мы рекомендуем использовать для более точной настройки учетных записей, учитывая записи с нестандартными параметрами (например, когда домашняя папка находиться в нестандартном месте).

Вот так можно использовать эту команду:

sudo useradd -m -s /bin/bash newuser

Где:

  • m — создание домашнего каталога /home/newuser;
  • s — указание оболочки (bash, zsh и др.);

Adduser

Adduser — это более дружелюбная для новичков команда, которая не требует дополнительных настроек. Она создает новых пользователей быстро и автоматизированно. Например, аdduser автоматически создает домашнюю папку (указывать не нужно), и интерактивно запрашивает дополнительную информацию если требуется (пароль, полное имя и т.д).

Мы рекомендуем использовать эту команду, если нет особых требований к UID/GID или нестандартным путям.

Вот так она выглядит на Debian/Ubuntu:

sudo adduser newuser

На CentOS обычно используется useradd, но можно установить adduser через yum.

Как задать пароль и параметры учётной записи вручную

Чтобы задать или изменить пароль используйте:

sudo passwd newuser

Можно также вручную указать:

  • дату истечения пароля — chage -E YYYY-MM-DD newuser.
  • срок действия пароля — chage -M 90 newuser.
  • дату последнего изменения — chage -d 2025-12-29 newuser.

 

Читайте также: Выделенный IP-адрес: нужен ли он вашему сайту и какие преимущества дает

Принципы безопасной работы с sudo для новых пользователей

sudo — это механизм увеличения привилегий. Он позволяет обычному пользователю временно выполнить даже ту команду, которая пока не соответствует его полномочиям.

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

Вот как можно добавить пользователя в группу sudo:

  • На Ubuntu/Debian

sudo usermod -aGsudo newuser

  • На CentOS/RHEL:

sudo usermod -aG wheel newuser

Ограничение доступа к SSH на уровне системы

Так как SSH — это основная точка входа на сервер, доступ к ней нужно ограничивать. Это можно сделать следующими способами.

Вы можете отредактировать файл /etc/ssh/sshd_config и добавить следующую строку, что ограничит доступ:

AllowUsers newuser anotheruser

Также, можно запретить доступ конкретным группам:

DenyGroups guest

После того как внесете изменения, перезапустите SSH с помощью:

sudo systemctl restart sshd

 

Часто спрашивают: Настройка FTP-сервера на Ubuntu

Настройка SSH-доступа по ключам вместо пароля

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

Выполните следующую команду, чтобы сгенерировать ключ:

ssh-keygen -t ed25519

Скопируйте ключ:

ssh-copy-id newuser@server

Все. Теперь вход возможен только с приватным ключом.

Как запретить вход под root через SSH

Для того, чтобы запретить вход под root через SSH, в файле /etc/ssh/sshd_config измените:

PermitRootLogin no

Перезапустите SSH:

sudo systemctl restart sshd

Это предотвратит прямой вход root и заставит использовать обычных пользователей с sudo.

 

Часто спрашивают: Передача файлов с локального ПК на VPS под Linux

Изменение стандартного порта SSH и его последствия

Смена SSH порта не является защитой, а только фильтром от автоматических ботов, и об этом важно помнить.

Чтобы изменить порт на нестандартный выполните:

Port 2222

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

ssh -p 2222 newuser@server_ip

Также при изменении порта нужно дополнительно настроить брандмауэр.

Включение защиты от перебора паролей (Fail2Ban)

Fail2Ban отслеживает попытки взлома и блокирует IP.

Чтобы установить его на Ubuntu/Debian выполните:

sudo apt install fail2ban

На CentOS:

sudo yum install epel-release sudo yum install fail2ban

Проверка активных SSH-подключений и контроль сессий

Чтобы проверить, кто подключён используйте:

who w

Завершите сессию при необходимости:

sudo pkill -t pts/1

Удаление и блокировка пользователей без нарушения структуры системы

Вы также можете удалить пользователя с домашней папкой. Для этого используйте:

sudo deluser –remove-home olduser# Debian/Ubuntu sudo userdel -r olduser# CentOS/RHEL

Чтобы просто заблокировать вход без удаления:

sudo usermod -L olduser sudo passwd -l olduser

Проверьте, что системные файлы и группы не нарушены, особенно если пользователь был добавлен в sudo.