Полезные настройки 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 с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.

Рубрики:

Linux

Метки:

, , ,

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

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

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

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

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

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