安装snoopy
git clone https://github.com/a2o/snoopy.git
yum install -y autoconf automake libtool
./bootstrap.sh
./configure --prefix=/opt/snoopy && make && make install
配置snoopy
cd /opt/snoopy
vim etc/snoopy.ini
添加以下两行配置即可:
message_format = "datetime:%{datetime} login:%{login} username:%{username} cmdline:%{cmdline} cwd:%{cwd}"
output = file:/var/log/snoopy.log
启用snoopy
是启用
,不是启动
,字没打错,因为snoopy
不是一个应用程序,它是一个动态链接库!!!
/opt/snoopy/sbin/snoopy-enable
启用之后,会提示你重启系统,可根据实际情况,择时重启。因为我实际想监控的是ssh登录之后的命令,是不需要重启的。
检查是否成功cat /etc/ld.so.preload
:
如果看到:
/opt/snoopy/lib/libsnoopy.so
则代表启用成功了。
效果
tail -f /var/log/snoopy.log
可以看到新开一个ssh会话之后,执行了哪些命令,且运行的命令都可以监控到。
关闭监控
/opt/snoopy/sbin/snoopy-disable
注意事项
如果想卸载snoopy
,在清理/etc/ld.so.preload
之前,切勿手动删除/opt/snoopy/lib/libsnoopy.so
,这可能会导致系统异常。
应该先运行snoopy-disable
禁用snoopy
再删除库文件。