
Зачем создавать отдельных пользователей вместо работы под 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.