Полезные настройки Sudoers для 'sudo' в Linux

Полезные настройки Sudoers для ‘sudo’ в Linux

Рубрики:

Linux

Метки:

, ,

Сегодня поговорим про полезные настройки Sudoers. В Linux и других Unix-подобных операционных системах только пользователь root может запускать все команды и выполнять определенные критические операции в системе, такие как установка и обновление, удаление пакетов, создание пользователей и групп, изменение важных файлов конфигурации системы и т. д.

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

Кроме того, системный администратор может попросту поделится паролем пользователя root (мы не рекомендуем этот методом), чтобы обычные пользователи системы имели доступ к учетной записи пользователя root через команду su.

Sudo позволяет разрешенному пользователю выполнять команду как пользователь root (или другой пользователь), как указано в политике безопасности:

  • Он читает и анализирует /etc/sudoers, просматривает параметры пользователя который обращается и его разрешения,
  • Затем запрашивает у этого пользователя пароль (обычно пароль пользователя, но он также может быть паролем целевого пользователя или может быть пропущен с тегом NOPASSWD),
  • После этого sudo создает дочерний процесс, в котором он вызывает setuid() для переключения на целевого пользователя
  • Затем он выполняет команду, заданную выше в качестве аргументов в дочернем процессе.

Ниже приведены конфигурации файлов /etc/sudoers для изменения поведения команды sudo с использованием записей по умолчанию.

 

 

Типы записей по умолчанию

 

Вы должны заметить, что опции неявно логичны и могут быть отключены с помощью ‘!‘. Операторы и списки имеют два дополнительных оператора присваивания, ‘+=’ (добавить в список) и ‘-=’ (удалить из списка).

 

1. Установите Secure PATH

Это путь, используемый для каждой команды sudo, имеет два значения:

  • Используется, когда системный администратор не доверяет пользователям sudo и для этого создает безопасную переменную среды PATH
  • Чтобы отделить «корневой путь» и «путь пользователя», этот параметр не влияет только на пользователей, определенных exempt_group.

Чтобы установить его, добавьте строку:

 

2. Включить sudo для сеанса входа в систему TTY.

Чтобы включить sudo из реального tty, но не с помощью скриптов cron или cgi-bin, добавьте строку:

 

3. Запустите команду Sudo с помощью pty

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

Чтобы избежать такого сценария, вы можете настроить sudo на запуск команд только с помощью psuedo-pty с использованием параметра use_pty, независимо от того, включено ли ведение журнала ввода-вывода или нет:

 

4. Создайте файл журнала Sudo

По умолчанию sudo регистрируется через syslog(3). Однако, чтобы указать пользовательский файл журнала, используйте параметр logfile следующим образом:

 

Чтобы записать имя хоста и год в пользовательском файле журнала, используйте параметры log_host и log_year следующим образом:

 

Ниже приведен пример пользовательского файла журнала sudo:

 

sudo

 

5. Ведение журнала sudo при вводе/выводе

Параметры log_input и log_output позволяют sudo запускать команду в псевдо-tty и регистрировать все входные данные пользователя и все выходные данные, которые передаются на экран.

Каталог журнала ввода-вывода по умолчанию – /var/log/sudo-io, если есть порядковый номер сеанса, он также сохраняется в этом каталоге. Вы можете указать пользовательский каталог через параметр iolog_dir.

 

Поддерживаются некоторые управляющие последовательности, такие как %{seq}, которая расширяется до монотонно возрастающего номера последовательности base-36, такого как 000001, где каждые две цифры используются для формирования нового каталога, например. 00/00/01, как в примере ниже:

Вы можете просмотреть остальные файлы в этом каталоге, используя команду cat.

 

6. Извещение пользователя о Sudo

Чтобы извещать пользователей sudo о использовании пароля в системе, используйте параметр lecture, как показано ниже.

Он имеет 3 возможных значения:

  • Всегда — всегда уведомлять пользователя.
  • Один раз — уведомить пользователя при первом выполнении команды sudo (это используется, когда значение не указано)
  • Никогда — никогда не уведомлять пользователя.

 

Кроме того, вы можете установить собственный файл уведомления с параметром lecture_file, введите соответствующее сообщение в файл:

 

 

7. Вывод пользовательского сообщения при вводе неправильного пароля sudo

Когда пользователь вводит неверный пароль, в командной строке отображается определенное сообщение. По умолчанию сообщение «sorry, try again», вы можете изменить сообщение, используя параметр badpass_message, следующим образом:

 

8. Увеличьте ограничение количества неверного ввода пароля для sudo

Параметр passwd_tries используется для указания количества попыток пользователя ввести пароль.

Значение по умолчанию — 3:

 

Чтобы установить тайм-аут пароля (по умолчанию — 5 минут) с использованием параметра passwd_timeout, добавьте следующую строку:

 

9. Пусть sudo ругается на вас, когда вы вводите неправильный пароль

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

 

sudo

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University.

 

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux

Метки:

, ,

Больше похожих постов

2 комментария. Оставить новый

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

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню