Configurer l'accounting
Auteur : Olivier BOYER - oboyer () ajoute ! org
Mots clés
OpenBSD, système, accounting
Introduction
Ce document décrit comment mettre en place l'accounting sur un système OpenBSD.
Présentation de la maquette
- un système OpenBSD sur lequel l'administrateur veut connaître les commandes exécutées par les utilisateurs.
Note
Toutes les commandes présentées ici, sont à exécuter, sauf mention contraire, en tant qu'administrateur de la machine.
Pré-requis
Aucun, tout est livré par défaut avec le système.
Démarrer l'accounting
La mise en place de l'accounting sous OpenBSD est très simple. Il sufit d'exécuter en tant que root la commande suivante :
Créer le fichier d'accounting
Avant tout, il faut créer le fichier dans lequel seront enregistrées les données collectées. Procédez comme suit :
# cat /dev/null > /var/account/acct
Modifier les permissions par défaut
Les données d'accounting doivent rester confidentielles. Pour ce faire, interdisez comme suit,l'accès aux fichiers d'accounting :
# chmod 750 /var/account # chmod 640 /var/account/acct
Démarrer l'accounting
Pour démarrer l'accounting, c'est très simple, il suffit d'exécuter la commande suivante :
# accton /var/account/acct
Activer l'accounting au démarrage de la machine
OpenBSD jusqu'à la version 4.0
Sur les systèmes Openbsd jusqu'à la version 4.0, l'accounting était démarré via le script /etc/rc, dès que le fichier /var/account/acct était créé.
OpenBSD depuis la version 4.1
Depuis la version OpenBSD 4.1, l'accounting est démarré en positionnant la variable accounting=YES dans le fichier /etc/rc.conf.local. Il n'est plus nécessaire de créer le fichier /var/account/acct.
Ajoutez la ligne suivante au fichier /etc/rc.conf.local :
accounting=YES # process accounting (using /var/account/acct)
Désactiver l'accounting
Pour désactiver l'accounting, c'est toujours très simple, il suffit d'exécuter la commande suivante :
# accton
Lire les rapports d'accounting
Pour lire les rapports d'accounting, il existe deux commandes :
lastcomm(1): affiche les commandes exécutées en ordre inversesa(8): affiche les statistiques de l'accounting
Gérer l'archivage des fichiers d'accounting
Le script /etc/daily gère automatiquement les fichiers d'enregistrement de l'accounting. L'admistrateur n'a donc pas besoin de s'en préoccuper.
Extrait du script /etc/daily :
if [ -f /var/account/acct ]; then
echo ""
echo "Purging accounting records:"
mv -f /var/account/acct.2 /var/account/acct.3
mv -f /var/account/acct.1 /var/account/acct.2
mv -f /var/account/acct.0 /var/account/acct.1
cp -f /var/account/acct /var/account/acct.0
sa -sq
fi
Liens
ANNEXES
Un script pour lister les commandes par utilisateurs
Le script suivant liste toutes les commandes exécutées par chaque utilisateur du système :
# for u in $(cat /etc/passwd| grep -v nologin| awk -F: '{print $1}')
> do
> echo " ===== $u ===== "; lastcomm $u
> done
Ou, dans le cas d'utilisateurs NIS :
# for u in $(ypcat passwd| awk -F: '{print $1}')
> do
> echo " ===== $u ===== "; lastcomm $u
> done
/etc/rc.d/account
Voici un exemple de script de démarrage et d'arrêt de l'accounting :