Skip to content

Задание №3: Локальные учётные записи и sudo ​

В данном задании настраиваются системные административные пользователи на серверах и маршрутизаторах с правом выполнения команд суперпользователя (sudo) без ввода пароля.


1. Теоретическая справка: как работает безопасность в ALT Linux ​

1. Что такое UID (-u 2026)? ​

В Linux операционная система различает пользователей не по их текстовым логинам, а по уникальным числовым идентификаторам — UID (User Identifier). По заданию требуется назначить конкретный UID 2026. Параметр -u принудительно задаёт этот номер при создании пользователя.

2. Зачем нужна утилита chpasswd? ​

Команда passwd в консоли требует интерактивного ввода и повторного подтверждения пароля. Конструкция echo "user:pass" | chpasswd позволяет задать пароль в одну строчку без лишних диалогов, что критически экономит время на экзамене.

3. Что такое группа wheel? ​

В дистрибутивах семейства ALT Linux (как и в RHEL/CentOS) исторически используется системная группа wheel. Члены этой группы наделяются правом повышать свои привилегии до root. Флаг -aG в usermod расшифровывается как:

  • -a (append) — добавить в группу, не удаляя пользователя из остальных его групп;
  • -G (supplementary Group) — указать дополнительную группу.

4. Почему каталог /etc/sudoers.d/, а не файл /etc/sudoers? ​

Вместо небезопасного прямого редактирования основного файла /etc/sudoers принято создавать отдельные файлы в каталоге /etc/sudoers.d/. Директива WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL означает:

  • WHEEL_USERS — все участники группы wheel;
  • ALL=(ALL:ALL) — на всех хостах, от имени любого пользователя и любой группы;
  • NOPASSWD: ALL — запуск любых команд через sudo без запроса пароля.

Шаг 1. Настройка серверов HQ-SRV и BR-SRV ​

На обоих серверах создаётся пользователь sshuser с идентификатором 2026 и беспарольным sudo.

Команды идентичны для обоих серверов

Выполните приведённый блок сначала на HQ-SRV, а затем на BR-SRV.

bash
# 1. Создаем пользователя sshuser с явным указанием UID 2026:
useradd -u 2026 sshuser

# 2. Назначаем пароль P@ssw0rd в неинтерактивном режиме:
echo "sshuser:P@ssw0rd" | chpasswd

# 3. Добавляем пользователя в административную группу wheel:
usermod -aG wheel sshuser

# 4. Разрешаем группе wheel выполнять любые команды через sudo без ввода пароля:
echo "WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/sshuser

# 5. Проверяем работу: входим под пользователем sshuser:
su -l sshuser

# 6. Проверяем статус суперпользователя:
sudo id

# 7. Возвращаемся обратно под учетную запись root:
exit

Что делает su -l sshuser?

Параметр -l (или просто дефис -) запускает полноценную login-оболочку: переходит в домашний каталог пользователя (/home/sshuser) и подгружает его переменные окружения.


Шаг 2. Настройка маршрутизаторов HQ-RTR и BR-RTR ​

На маршрутизаторах создаётся пользователь net_admin.

Важно для маршрутизаторов

На сетевых/маршрутизаторных сборках ALT Linux утилита sudo часто отсутствует по умолчанию. Поэтому перед настройкой прав обязательно устанавливаем пакет sudo.

Команды идентичны для обоих маршрутизаторов

Выполните приведённый блок сначала на HQ-RTR, а затем на BR-RTR.

bash
# 1. Создаем пользователя net_admin:
useradd net_admin

# 2. Назначаем пароль P@ssw0rd:
echo "net_admin:P@ssw0rd" | chpasswd

# 3. Добавляем пользователя в группу wheel:
usermod -aG wheel net_admin

# 4. Обновляем репозитории и устанавливаем пакет sudo:
apt-get update && apt-get install sudo -y

# 5. Разрешаем беспарольный sudo для администраторов:
echo "WHEEL_USERS ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/net_admin

# 6. Проверяем вход под созданным пользователем:
su -l net_admin

# 7. Проверяем привилегии:
sudo id

# 8. Выходим обратно в сессию root:
exit

Шаг 3. Проверка работоспособности (Верификация) ​

При выполнении команды sudo id под учётными записями sshuser и net_admin:

  1. Система НЕ должна запрашивать ввод пароля.
  2. В консоли должен отобразиться идентификатор суперпользователя root:
    text
    uid=0(root) gid=0(root) groups=0(root)...
  3. Проверить UID созданного пользователя можно командой id <имя>:
    • На серверах: id sshuser должен вернуть uid=2026(sshuser).
    • На маршрутизаторах: id net_admin должен вернуть наличие группы wheel(10).

Работает на VitePress • Быстрый и удобный движок для документации