Наткнулся на интересный проект Snoopy Logger
Установка данного продукта происходит обычно без особых трудностей
wget downloads.sourceforge.net/project/snoopylogger/snoopy-1.8.0.tar.gz
(данный пакет можно найти в репозиториях некоторых дистрибутивов, например убунты)
tar -zxf snoopy-1.8.0.tar.gz
cd snoopy-1.8.0/
./configure --help (посмотреть опции)например
--with-syslog-facility=FACILITY
--with-syslog-level=LEVELможно задать логирование только root
для этого нужно перед /configure отредактировать файл snoopy.h
было
#define SNOOPY_ROOT_ONLY 0стало
#define SNOOPY_ROOT_ONLY 1./configure
make
make install
install -m 755 -d /usr/local/lib
install -m 755 snoopy.so /usr/local/lib/snoopy.so
Snoopy shared library installed in /usr/local/lib.
Run 'make enable' to actually enable snoopy logging.
make enable
./enable.sh /usr/local/lib
Snoopy enabled in /etc/ld.so.preload. Check syslog messages for output./etc/init.d/syslog restart (или rsyslog)
вывод в логи можно искать по след файлам
/var/log/auth*
/var/log/messages
/var/log/secure
Если не хочется парсить кашу из системных логов и Snoopy, можно сделать так:
touch /var/log/snoopy.log
vim /etc/syslog.conf (если стоит обычный syslog)
Добавляем в конфиг
!snoopy
*.* /var/log/snoopy.log
По такому же принципу можно убрать из системных логов мусор от снупи.
Логи выглядят следующим образом
Apr 6 06:46:26 asterisk snoopy[12664]: [uid:0 sid:12595 tty:/dev/pts/2 cwd:/home/develop filename:/usr/bin/nano]: nano /etc/asterisk/extensions.conf
Apr 6 07:56:19 asterisk snoopy[13267]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/root filename:/sbin/ifconfig]: ifconfig
Apr 6 07:56:26 asterisk snoopy[13268]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/root filename:/bin/touch]: touch /opt/1.txt
Apr 6 07:57:56 asterisk sudo: felvis : TTY=pts/3 ; PWD=/home/felvis ; USER=root ; COMMAND=/sbin/ifconfig eth0
Apr 6 07:57:56 asterisk snoopy[13277]: [uid:0 sid:13166 tty:/dev/pts/3 cwd:/home/felvis filename:/sbin/ifconfig]: /sbin/ifconfig eth0
Так же можно перенаправить через syslog на другую машину и там развести по нужным логам или веб приложениям.
Вообщем каждый сам решит для себя как можно использовать эту утилиту.
Для того чтобы удалить потом Snoopy, достаточно очистить файл /etc/ld.so.preload содержащий ссылку на .so и удалить сам файл /usr/local/lib/snoopy.so
зыЖ В этой мини статье я не рассматривал этическую сторону использования данного рода программ, оставив это на усмотрение читателей.

