Шпаргалка по работе с SUDO

Оцените статью

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

Введение

Утилита sudo (от англ. «substitute user do» — «выполнить от имени другого пользователя») позволяет пользователям запускать программы от имени суперпользователя (root) или другого пользователя с повышенными привилегиями. Это полезно, когда необходимо выполнить действия, требующие административных прав, без необходимости входа в систему под учётной записью root.

Основные принципы работы с sudo

  1. Запуск команд с помощью sudo: чтобы выполнить команду от имени суперпользователя, нужно ввести в терминале sudo перед командой. Например, чтобы обновить список пакетов в системе, можно использовать команду sudo apt update.
  2. Ввод пароля: при первом использовании sudo в текущем сеансе терминала потребуется ввести пароль пользователя. Это сделано для того, чтобы убедиться, что пользователь имеет права на выполнение команд с повышенными привилегиями.
  3. Временный доступ: после ввода пароля sudo предоставляет временный доступ к выполнению команд от имени суперпользователя в течение определённого времени (по умолчанию 15 минут). Это позволяет избежать повторного ввода пароля при выполнении нескольких команд подряд.
  4. Ограничение доступа: администраторы могут настроить ограничения на использование sudo для разных пользователей. Например, можно разрешить выполнение только определённых команд или ограничить время доступа.
  5. Журнал действий: все команды, выполненные с помощью sudo, записываются в журнал системы. Это позволяет отслеживать действия пользователей и обеспечивать безопасность системы.

Примеры использования sudo

  • Установка пакетов: sudo apt install package_name
  • Обновление системы: sudo apt update && sudo apt upgrade
  • Редактирование системных файлов: sudo nano /etc/hostname
  • Перезагрузка системы: sudo reboot

Открытие файла конфигурации sudo

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

sudo SUDO_EDITOR=nano visudo

Это позволит вам редактировать файл sudoers безопасно и удобно.

Добавление пользователя в sudo

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

su -c visudo

Это даст вам возможность редактировать файл sudoers и добавлять пользователей в группу с правами sudo.

Настройка прав доступа для групп и пользователей

Вы можете настроить права доступа для определённых групп и пользователей. Например, для группы wheel можно задать следующие права:

%wheel ALL=(ALL:ALL) ALL

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

Для пользователя tux можно задать следующие права:

tux ALL=(ALL) ALL

Это означает, что пользователь tux может выполнять все команды на всех хостах.

Настройка переменных окружения

Вы можете задать новую переменную PATH во время использования sudo:

Defaults secure_path="$PATH:/sbin"

Это позволит вам указать дополнительные пути для поиска команд.

Настройка уведомлений и логов

При неверном вводе пароля можно отправлять уведомление администратору:

Defaults mail_badpass

Можно включить логирование вывода команд, за исключением вывода sudoreplay:

Defaults log_output
Defaults!/usr/bin/sudoreplay !log_output
Defaults!REBOOT !log_output

Сохранение переменных окружения пользователя

Чтобы сохранить большинство переменных окружения пользователя, используйте опцию env_keep вместе с переменными, которые вы хотите сохранить:

Defaults env_reset
Defaults env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
Defaults env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
Defaults env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
Defaults env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
Defaults env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"

Это позволит сохранить важные переменные окружения пользователя при выполнении команд с помощью sudo.

Заключение

Утилита sudo является мощным инструментом для управления системой Linux. Она позволяет пользователям выполнять команды от имени суперпользователя, обеспечивая при этом безопасность и контроль над доступом к системным ресурсам. Правильное использование sudo может значительно упростить администрирование системы и повысить её безопасность.

Похожие записи

Настройка взаимодействия RED ADM и Windows Active Directory

Сегодня проведем несколько экспериментов по настройке взаимодействия RED ADM и Windows Active Directory. Есть несколько способов настройки доверия для упрощения миграции с решений Microsoft на Российское ПО и сегодня их…

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Так как на севере делать абсолютно нечего, то я продолжаю заниматься саморазвитием 🙂 На этой неделе вспоминаю и углубляю свои знания в Docker. Лучший способ запомнить тему, это вести конспект…

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Читать еще статьи

Топ-9 нейросетей для генерации изображений в 2026 году

Топ-9 нейросетей для генерации изображений в 2026 году

Настройка взаимодействия RED ADM и Windows Active Directory

Настройка взаимодействия RED ADM и Windows Active Directory

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Подробная инструкция по написанию YAML‑файлов для Docker Compose

Установка основного контроллера домена на базе REDADM

Установка основного контроллера домена на базе REDADM

zVirt работа с шаблонами виртуальных машин

zVirt работа с шаблонами виртуальных машин

Подробная инструкция по работе с томами (volumes) в Docker

Подробная инструкция по работе с томами (volumes) в Docker