arstercz / snoopy

Log every executed command to syslog (a.k.a. Snoopy Logger).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Snoopy Logger

Table of contents

What is Snoopy?

Snoopy is a small library that logs all program executions on your Linux/BSD system.

Developer documentation outlines how it actually does that (a fairly technical read). And don't miss the security disclaimer about it.

News

Date What? Details
2021-04-20 Snoopy 2.4.14 released. Bugfix release (long commands can cause segmentation fault, #198).
2021-04-14 Snoopy 2.4.13 released. Minor enhancement release (added custom datetime formatting support).
2021-02-09 Snoopy 2.4.12 released. Maintenance release - fairly important, see #191 for details.
2021-02-02 Snoopy 2.4.11 released. Maintenance release.
2020-11-30 Snoopy 2.4.10 released.
IMPORTANT NOTICE: This Snoopy version contains a bugfix for a condition (#119) that can make your systems unstable in specific situations.
All users are encouraged to upgrade to this version of Snoopy ASAP.
2020-11-13 Snoopy 2.4.9 released. Maintenance release. On Friday 13th - let's hope for the best! 😉
2020-10-04 Snoopy 2.4.8 released. Maintenance release.

Consult ChangeLog for more information.

Latest version

Latest release Version Status Download location
Stable 2.4.14 Build QA - OS Matrix (Large) / stable
Build QA - Config Matrix (Large) / stable
Code QA - Autoreconf / stable
Code QA - Autoscan / stable
Code QA - Valgrind / stable
All release packages can be found over there 👉 in the Releases section.
Development master Build QA - OS Matrix (Large) / master
Build QA - Config Matrix / master
Code QA - Autoreconf / master
Code QA - Autoscan / master
Code QA - Valgrind / master
Coverity Scan
SonarCloud:
SonarCloud - Bugs
SonarCloud - Code Smells
SonarCloud - Coverage
SonarCloud - Duplicated Lines (%)
SonarCloud - Maintainability Rating
SonarCloud - Quality Gate Status
SonarCloud - Reliability Rating
SonarCloud - Security Rating
SonarCloud - Technical Debt
SonarCloud - Vulnerabilities
git clone git:github.com:a2o/snoopy

Installation

Install QA - README.md / master Install QA - install-snoopy.sh / install Install QA - OS Matrix - Install from git Release QA - OS Matrix - Install from source

The simplest way to start using the latest Snoopy is to execute the following commands (as root):

wget -O install-snoopy.sh https://github.com/a2o/snoopy/raw/install/install/install-snoopy.sh &&
chmod 755 install-snoopy.sh &&
sudo ./install-snoopy.sh stable

That's all.

Other installation options (i.e. installing latest development version from this git repository) are described in the doc/INSTALL.md document.

Output

This is what typical Snoopy output looks like:

2015-02-11T19:05:10+00:00 labrat-1 snoopy[896]: [uid:0 sid:11679 tty:/dev/pts/2 cwd:/root filename:/usr/bin/cat]: cat /etc/fstab.BAK
2015-02-11T19:05:15+00:00 labrat-1 snoopy[896]: [uid:0 sid:11679 tty:/dev/pts/2 cwd:/root filename:/usr/bin/rm]: rm -f /etc/fstab.BAK
2015-02-11T19:05:19+00:00 labrat-1 snoopy[896]: [uid:0 sid:11679 tty:/dev/pts/2 cwd:/root filename:/usr/bin/tail]: tail -f /var/log/messages

These are default output locations on various Linux distributions:

Distribution Snoopy output location Notes
CentOS /var/log/secure
Debian /var/log/auth.log
Ubuntu /var/log/auth.log
(others) /var/log/messages (potentially, could be elsewhere)

For actual output format and destination, check your Snoopy and syslog configuration.

Configuration

If the configuration file support is available in your Snoopy build (it probably is), Snoopy can be reconfigured on-the-fly.

The configuration file is (most likely, but depending on the build) located at /etc/snoopy.ini.

Supported configuration directives are explained in the default configuration file.

FAQ - Frequently asked questions

Frequently asked questions and answers are collected in the doc/FAQ.md file in this repository.

Security disclaimer

WARNING: Snoopy is not a reliable auditing solution.

Rogue users can easily manipulate environment to avoid their actions being logged by Snoopy. Consult this FAQ entry for more information.

Contributing to Snoopy development

Consult the following documents for information related to Snoopy development:

Getting support

Information is available in a dedicated document about getting support.

License

Snoopy is released under GNU General Public License version 2.

Online resources

Snoopy development is located at the following URI:

Additional git repository mirrors (read-only) are available here:

Credits

Snoopy Logger was originally created and maintained by:

Contribution acknowledgements are available at the following locations:

Snoopy is currently maintained by Bostjan Skufca Jese.

About

Log every executed command to syslog (a.k.a. Snoopy Logger).

License:GNU General Public License v2.0


Languages

Language:C 63.1%Language:Shell 21.9%Language:M4 9.5%Language:Makefile 5.4%