Найти в Дзене
bashninja | DevOps & SRE ⚙️

Создание привилигированного пользователя в CentOS 8. Установка и настройка sudo.

В этой статье мы поговорим об управлении контролем доступа на сервере. Контроль доступа - одна из самых приоритетных задач для системного администратора. Выделение для всех участников проекта, одной учетной записи - root, не является общепринятой практикой. Нормальная практика, это когда системный администратор выделяет лишь те команды или директории которые требуются данному сотруднику для работы. начнем с описания команды useradd и флагов : useradd -m dev -G development -s /bin/bash -p Password -d /home/development -g dev -m - создание для пользователя своего домашнего каталога -G - прикрепляет пользователя к дополнительным группам -s - стартовая оболочка пользователя -p - пароль -d - директория -g - прикрепление пользователя к его основной группе Если вы попытаетесь выполнить команду указанную выше, то вероятнее всего получите ошибку : useradd: group 'development' does not exist - это означает что у нас не существует такой группы давайте их создадим : groupadd dev groupadd developm

В этой статье мы поговорим об управлении контролем доступа на сервере.

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

начнем с описания команды useradd и флагов :

useradd -m dev -G development -s /bin/bash -p Password -d /home/development -g dev

-m - создание для пользователя своего домашнего каталога

-G - прикрепляет пользователя к дополнительным группам

-s - стартовая оболочка пользователя

-p - пароль

-d - директория

-g - прикрепление пользователя к его основной группе

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

useradd: group 'development' does not exist - это означает что у нас не существует такой группы

давайте их создадим :

groupadd dev
groupadd development

Как убедиться что группы действительно созданы? для этого достаточно посмотреть информацию которая хранится в /etc/group

Чтобы не выводить всё содержимое файла, мы можем использовать утилиту grep :

cat /etc/group | grep dev

получаем вывод с записью двух наших групп, это означает что они были успешно созданы.

Теперь давайте повторим команду для создания нашего пользователя :

useradd -m dev -G development -s /bin/bash -p Password -d /home/development -g dev

Вывода никакого мы не получили, а это значит что пользователь был создан успешно.

У вас может возникнуть необходимость поменять пароль для этого пользователя, для этого необходимо использовать команду passwd :

passwd dev

На данный момент, мы создали непривилегированного пользователя, он не имеет доступа ни к чему, кроме своего домашнего каталога, давайте сделаем из него привилегированного :

usermod -aG wheel dev

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

groups dev

Для переключения и выполнения команд от имени пользователя :

su dev

Для того чтобы выполнять команды от имени администратора достаточно использовать команду sudo :

sudo systemctl status

Так же можно зайти с этого пользователя под root используя команду :

sudo -s

Преимущество работы под sudo :

  1. Повышается безопасность для незащищенных систем, т.к в основном большинство хакерских атак(например брутфорс) направлены на пользователя root.
  2. Запрет авторизации из под root пользователя
  3. Появляется возможность передать администраторский уровень другим людям, не опасаясь компрометации пароля от root пользователя, т.к любой пользователь работающий из под sudo, должен будет вводить пароль от своей учетной записи, а не от root. Таким образом практика использования команды sudo, является наиболее приоритетной для системного администратора, т.к позволяет эффективнее управлять правами доступа для пользователей и повысить защищенность вашего сервера.

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

yum install sudo -y (для версии CentOS 7 - где менеджер пакетов yum, установлен по умолчанию)
dnf install sudo -y (для версии CentOS 8 - где менеджер пакетов dnf(улучшенная версия yum, установлен по умолчанию)

#centos #linux #sudo #системное администрирование