Я хотел знать, есть ли какой-либо механизм, когда пользователь устанавливает / удаляет любой пакет с помощью sudo. Он генерирует электронную почту и отправляет ее на адрес электронной почты root.
Я использую centos 6.4 и обычно устанавливаю пакет через yum или путем прямой установки (rpm).

1 ответ1

0

На этот вопрос сложно ответить, так как вы не сообщили нам свой дистрибутив или какой менеджер пакетов вы используете. Есть несколько способов сделать это, один из которых превращает ваш менеджер пакетов в функцию. Я буду использовать apt-get в качестве примера.

Переименуйте исполняемый файл apt-get :

sudo mv /usr/bin/apt-get /usr/bin/apt-get.bin 

Создайте небольшой скрипт-обертку, который вызывает apt-get а затем отправляет электронное письмо:

#!/bin/sh

./apt-get.bin "$@" && echo "User $SUDO_USER ran 'apt-get $@'" | 
  sendmail root@foo.com

Сохраните приведенный выше скрипт как /usr/bin/apt-get и сделайте его исполняемым:

sudo chmod a+x /usr/bin/apt-get

Теперь, каждый раз, когда пользователь успешно запускает apt-get , электронное письмо будет отправлено на root@foo.com .

Это не самый элегантный способ, и его легко можно обойти пользователем, вызывающим apt-get.bin напрямую, но он может удовлетворить ваши потребности. Также не поможет, если пользователь установит пакет из исходного кода или использует aptitude или dpkg напрямую.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .