Установка и настройка sudo в CentOS

После установки CentOS в системе присутствует только пользователь root, использование которого нежелательно по соображениям безопасности. Для того, чтобы обезопасить сервер нужно создать обычного пользователя, который, при необходимости, смог бы повышать свои полномочия до уровня суперпользователя. Использование команды sudo позволяет сделать это, сохраняя пароль суперпользователя в тайне.

Прежде всего нужно установить пакет sudo, который доступен в базовых репозиториях CentOS.

yum install sudo

После того, как пакет установлен необходимо создать пользователя и создать для него пароль.

useradd oldfag -m -s /bin/bash
passwd oldfag

После того, как пользователь создан, его необходимо добавить в группу wheel, что позволит ему, при необходимости, повысить свои полномочия до уровня суперпользователя. Сделать это можно двумя способами:

  1. отредактировать файл /etc/group, дописав в строку после запятой имя нового пользователя
    nano /etc/group
    wheel:x:10:root,oldfag
    
  2. выполнить команду
    usermod -aG 'wheel' oldfag
    

Команда sudo, в отличие от su, позволяет назначить каждому пользователю или группе список разрешённых команд. Все настройки sudo хранятся в файле /etc/sudoers.

Перед тем, как редактировать /etc/sudoers необходимо разрешить возможность его редактирования.

chmod +w /etc/sudoers
nano /etc/sudoers

Для того, чтобы разрешить группе wheel выполнять любые действия нужно раскомментировать строку

%wheel  ALL=(ALL)       ALL

После сохранения изменений нужно убрать возможность редактирования файла, на всякий случай.

chmod -w /etc/sudoers

Теперь пользователь может выполнять команды от имени администратора, выполнив команду

sudo -i

и введя свой пароль.

После того, как создан новый пользователь, установлен и настроен пакет sudo, необходимо запретить пользователю root подключаться по ssh. Для этого в секции Authentication файла /etc/ssh/sshd_config раскомментировать строку «PermitRootLogin no», после чего перезапустить SSH-сервер командой.

 service sshd restart
Останавливается sshd:                                      [  OK  ]
Запускается sshd:                                          [  OK  ]

Подробную справку о командах и структуре файла /etc/sudoers можно прочитать на OpenNet или выполнив в консоли команду

man <имя команды>.