Skip to content

Sudo

Sudo (Substitute User DO) — это мощная утилита для управления привилегиями в UNIX-подобных системах, таких как Linux. Она позволяет пользователю с соответствующими правами выполнять команды от имени суперпользователя (root) или другого пользователя, обеспечивая при этом аудит действий через журнал команд и их аргументов. Sudo широко используется для повышения безопасности и гибкого управления доступом.

Быстрая настройка Sudo

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

shell
su -
control sudowheel enabled
exit

Проверьте результат, выполнив команду sudo -l. Для подтверждения потребуется ввести пароль пользователя:

Результат для пользователя с привилегиями
Соответствие записей Defaults для oleg на alt-kde:
    env_keep+="DISPLAY XAUTHORITY"

Пользователь oleg может выполнять следующие команды на alt-kde:
    (ALL) ALL

Для отключения привилегий группы wheel:

shell
su -
control sudowheel disabled
exit

Проверьте результат с помощью sudo -l:

Результат для пользователя без привилегий
Извините, пользователь oleg не может запустить sudo на alt-kde.

Гибкая настройка Sudo

Sudo позволяет детально настраивать права доступа для конкретных пользователей или групп. Настройка осуществляется через файл /etc/sudoers или дополнительные файлы в директории /etc/sudoers.d/. Вот несколько примеров:

Полный доступ для пользователя

Предоставление пользователю oleg всех привилегий на устройстве alt-kde:

shell
oleg alt-kde=(ALL) ALL

Ограниченный доступ к командам

Разрешение пользователю oleg выполнять только определённые команды (например, apt-get, rpm, fdisk):

shell
oleg alt-kde=(ALL) /usr/bin/apt-get, /usr/bin/rpm, /sbin/fdisk

Доступ для группы

Предоставление всех привилегий членам группы wheel:

shell
%wheel ALL=(ALL) ALL

Создание правила в отдельном файле

Для удобства управления создайте файл с правилом в директории /etc/sudoers.d/:

shell
su -
echo "oleg alt-kde=(ALL) ALL" > /etc/sudoers.d/10-oleg
exit

Информация

Рекомендуется называть файлы в /etc/sudoers.d/ по имени пользователя или группы, например: 10-oleg, 20-admin, 30-devs. Убедитесь, что в командах вы заменили oleg и alt-kde на актуальные имя пользователя и hostname вашего устройства.

Проверьте результат с помощью sudo -l:

Результат проверки
Соответствие записей Defaults для oleg на alt-kde:
    env_keep+="DISPLAY XAUTHORITY"

Пользователь oleg может выполнять следующие команды на alt-kde:
    (ALL) ALL

Полезные команды для работы с Sudo

  • Проверка привилегий текущего пользователя:
shell
sudo -l

Информация

Для выполнения этой команды необходимо быть авторизованным под пользователем, чьи права вы проверяете.

  • Добавление пользователя в группу wheel:
shell
gpasswd -a oleg wheel
  • Узнать имя устройства (hostname):
shell
hostname
Пример вывода hostname
alt-kde

Рекомендации по безопасности

  • Редактируйте с visudo: Для изменения конфигурации Sudo используйте команду visudo, чтобы избежать синтаксических ошибок.
  • Используйте надежные пароли: Убедитесь, что пользователи с привилегиями Sudo имеют сложные пароли для защиты от несанкционированного доступа.
  • Минимизируйте права: Предоставляйте только те привилегии, которые необходимы для выполнения задач.
  • Используйте /etc/sudoers.d/: Хранение правил в отдельных файлах упрощает управление и снижает риск ошибок в основном файле /etc/sudoers.
  • Ведите аудит: Регулярно проверяйте журналы Sudo (обычно в /var/log/secure или /var/log/auth.log) для отслеживания активности.

Почему Sudo важен?

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

Авторы

The avatar of contributor named as Stepan Samutichev Stepan Samutichev
The avatar of contributor named as CatSema CatSema
The avatar of contributor named as Anton Politov Anton Politov

История изменений