root
100%

Управление пользователями · Урок 2

root

Узнайте, как su, sudo и политика sudoers предоставляют контролируемый доступ к привилегированным идентичностям.

Учётная запись с традиционным именем root имеет UID 0 и широкие полномочия в своём контексте безопасности. Для повседневной работы используйте непривилегированную учётную запись и повышайте права только для конкретной понятной административной задачи.

Запуск оболочки другого пользователя с помощью su

su, то есть substitute user, запускает оболочку или команду с идентичностью другой учётной записи. Если имя не указано, целью по умолчанию является root:

$ su

Аутентификация управляется PAM и локальной политикой. Система может запросить пароль целевой учётной записи, ограничить круг пользователей su или оставить пароль root заблокированным. Не считайте знание пароля единственным условием.

Обычный su меняет идентичность, сохраняя бо́льшую часть текущего окружения. su - USER, также записываемый как su --login USER, запускает оболочку входа и создаёт окружение, более близкое к новому входу целевой учётной записи:

$ su - operator

Завершите вложенную оболочку, когда работа от имени цели закончена.

Какая команда запрашивает оболочку входа от имени пользователя operator?

Запуск отдельной команды через sudo

sudo COMMAND запрашивает разрешение политики выполнить одну команду от имени целевого пользователя, которым по умолчанию обычно является root. Для другой цели используйте -u USER:

$ sudo -u postgres id

Это не означает, что запрос будет разрешён. Политика sudo учитывает вызывающего пользователя, узел, целевую идентичность, команду и другие условия. В зависимости от конфигурации аутентификация может использовать пароль вызывающего пользователя, другой механизм или не показывать запрос.

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

Что запрашивает sudo -u postgres id?

Отказ от постоянных привилегированных оболочек

Команды su -, sudo -s и sudo -i могут создать привилегированную оболочку, если политика разрешает. Каждая последующая команда в ней способна иметь повышенное влияние до выхода. Ошибки в путях, непроверенные сценарии и подстановки оболочки становятся опаснее.

Поведение аудита зависит от конфигурации. sudo обычно записывает вызовы, но одна зарегистрированная команда запуска оболочки не обязательно создаёт полный журнал каждой команды внутри неё. История оболочки, системный аудит и журналирование ввода-вывода sudo — отдельные механизмы со своими политиками.

Почему длительно работающая оболочка root опаснее повышения прав для одной понятной команды?

Проверка авторизации sudo

Выполните sudo -l, чтобы вывести запросы, разрешённые текущей учётной записи активной политикой:

$ sudo -l

Проверяйте пути команд, разрешённых целевых пользователей и ограничения аргументов. Правило с широкой формулировкой не следует считать разрешением выполнять несвязанную работу.

Какая команда перечисляет привилегии sudo, доступные текущему вызывающему пользователю?

Безопасное редактирование политики sudoers

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

Для изменения политики используйте visudo: команда блокирует файл и проверяет синтаксис перед установкой:

$ sudo visudo

Для дополнительного файла укажите точный путь:

$ sudo visudo -f /etc/sudoers.d/application-admins

Не редактируйте sudoers обычным перенаправлением или непроверенным процессом редактора. Ошибка синтаксиса или прав может лишить административного доступа. При удалённом изменении авторизации сохраняйте другой проверенный путь восстановления.

Какой инструмент следует использовать для редактирования и проверки синтаксиса основной политики sudoers?

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

  1. Настройка учётных записей и привилегий sudo в Linux — отработайте политики паролей, блокировку и разблокировку учётных записей, защиту root и предоставление административных разрешений.

Урок завершён

Вы завершили root

Теперь вы можете отличать переключение идентичности от управляемого политикой делегирования команд.

  • Используйте su - USER только когда нужна целевая оболочка входа.

  • Запрашивайте конкретную цель sudo параметром -u USER.

  • Сокращайте время работы в привилегированной оболочке.

  • Проверяйте действующие правила через sudo -l.

  • Редактируйте политику sudoers только через visudo.

Сохраните прогресс

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

Создать бесплатный аккаунт
Следующий Урок
Назад к Управление пользователями