Для повседневных задач мы не рекомендуем использовать ваш виртуальный сервер с правами администратора (root). Вместо этого рассмотрим, как создать обычного пользователя и разрешить ему временно получать более высокий уровень привилегий с помощью команды sudo.
В руководстве для примера используется VPS с ОС Centos 7.8. О том, как выбрать и установить операционную систему на виртуальный сервер, читайте в нашем руководстве «Как произвести первоначальную настройку виртуального сервера: выбор операционной системы».
При заказе виртуального сервера вы получили письмо с реквизитами доступа к этому серверу на ваш контактный адрес.
В письме содержатся следующие сведения:
- URL панели управления сервером, а также логин и пароль для доступа к ней.
- IP-адрес вашего сервера.
- Логин и пароль администратора сервера.
Рекомендуем вам сохранить это письмо, чтобы не потерять эти важные сведения.
В качестве терминала мы использовали командную строку Windows. В операционных системах на базе Linux и в macOS SSH-клиент поставляется по умолчанию. В Windows 10 также есть клиент SSH (возможно, понадобится его заранее включить), можно также установить сторонние клиенты, например PuTTY.
Создание непривилегированного пользователя
Запустите терминал (командную строку), введите команду:
ssh root@ip.add.re.ss
где ip.add.re.ss
— IP-адрес из письма.
Далее введите пароль администратора (он есть в письме).
Следующим шагом добавьте нового пользователя и придумайте для него пароль с помощью команд:
useradd user
passwd user
Изменяется пароль пользователя user. Новый пароль : Повторите ввод нового пароля : passwd: все данные аутентификации успешно обновлены.
Имя пользователя можно использовать любое, а пароль должен быть сильным, содержать буквы, цифры и различные символы и не содержать словарных слов.
Повышение уровня привилегий пользователя
Добавьте новому пользователю возможность временно повышать свой уровень привилегий с помощью sudo. Введите команду:
usermod -aG wheel user
Теперь проверьте, сможете ли вы зайти по SSH с новым пользователем и использовать sudo
. Для этого сначала отключитесь от сервера с помощью команды exit
.
Теперь подключитесь, используя нового пользователя (а не root) и введите пароль этого пользователя:
ssh -l user ip.add.re.ss
user@ip.add.re.ss's password: [user@servername ~]$
Подключение прошло успешно. Чтобы проверить sudo, введите следующую команду:
iptables -vxnL
Вы увидите сообщение с ошибкой:
iptables v1.4.21: can't initialize iptables table `filter': Permission denied (you must be root) Perhaps iptables or your kernel needs to be upgraded.
Для выполнения этой команды требуются привилегии администратора. Введите эту же команду с sudo
:
sudo iptables -vxnL
После ввода пароля вы увидите вывод команды вместо ошибки:
Мы полагаем, что ваш системный администратор изложил вам основы безопасности. Как правило, всё сводится к трём следующим правилам: №1) Уважайте частную жизнь других. №2) Думайте, прежде что-то вводить. №3) С большой властью приходит большая ответственность. [sudo] пароль для my_user:
Теперь у вас есть пользователь без прав администратора, который, однако, может временно получать более высокий уровень привилегий с помощью команды sudo
.