linux-labs

← Практика

Выдать пользователю sudo

Конфигурация службы · Лёгкое · 10 мин · 100 баллов

Выдать пользователю sudo

В команду пришёл новый администратор. Пользователь deploy уже создан, но не может выполнять команды через sudo — система отвечает отказом.

Задача

Сделай так, чтобы:

  1. пользователь deploy мог выполнять команды через sudo;
  2. права выдавались штатно — через группу или файл в /etc/sudoers.d/, а не правкой /etc/passwd и не сменой UID на 0;
  3. конфигурация sudoers оставалась синтаксически корректной (visudo -c проходит).

Подсказки по подходу

  • В Debian/Ubuntu право sudo даёт членство в группе sudo (в RHEL — wheel).
  • Группы пользователя смотри через id deploy, добавляй через usermod -aG — обязательно с -a, иначе перезапишешь весь список групп!
  • Точечные правила правильно класть отдельным файлом в /etc/sudoers.d/, проверяя его через visudo -cf.
  • Членство в группе применяется при новом входе — учти при проверке (newgrp или перелогин).

Всё нужное уже установлено. Интернет на машине отсутствует — и не понадобится.

Подсказки

Подсказка 1

Посмотри текущие группы пользователя: id deploy. Группы sudo среди них нет — отсюда и отказ.

Подсказка 2

Добавь в группу, не затирая остальные: sudo usermod -aG sudo deploy. Ключ -a (append) здесь обязателен, иначе usermod -G заменит все дополнительные группы.

Подсказка 3

Проверь: id deploy — должна появиться группа sudo. Альтернатива для точечных прав — файл /etc/sudoers.d/deploy со строкой deploy ALL=(ALL:ALL) ALL, созданный через sudo visudo -f /etc/sudoers.d/deploy (он проверит синтаксис при сохранении).

Поднимет вашу личную эфемерную Linux-ВМ для задания — обычно пара секунд. После работы её можно остановить.