Je souhaite surveiller l'activité de tous les utilisateurs sur mon serveur.
Même lorsque l'utilisateur exécute une commande shell à partir d'un éditeur comme vim, je veux les voir dans le fichier journal.
J'ai vérifié l'outil acct mais il ne répertorie pas les commandes complètes. (Veuillez me corriger si j'ai manqué certaines options qui le font déjà).
Quel outil Linux devrais-je utiliser pour résoudre ce problème?
linux
user-management
Supratik
la source
la source
Réponses:
Ajoutez cette ligne à votre configuration pam responsable des connexions (son auth système sur les distributions basées sur redhat)
Pour savoir ce qui a été fait, vous pouvez utiliser.
Cela produit une sortie comme celle-ci:
Le seul inconvénient est que cela peut être un peu difficile à lire, mais c'est beaucoup mieux que la plupart des solutions proposées car en théorie, il pourrait être utilisé pour enregistrer une session entière, verrues n tous.
Edit: Oh et vous pouvez utiliser aureport pour générer une liste qui peut être plus utile.
la source
auditd
démon doit d'abord être activé (ce n'était pas par défaut sur mon installation CentOS 6.7). Pour démarrer le démon, utilisez:service auditd start
et pour rendre cette modification persistante (après les redémarrages), utilisezchkconfig auditd on
Source: access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/… et access.redhat.com/documentation/en-US/ Red_Hat_Enterprise_Linux /…La meilleure solution à votre problème serait le système d' audit intégré de Linux . Utilisez
man 8 auditd
ou consultez cette page pour plus d'informations: http://linux.die.net/man/8/auditd .En outre, vous pouvez consulter ce tutoriel - bien qu'il soit légèrement hors de portée de votre question, il montre comment fonctionne le système d'audit.
la source
Vous pouvez utiliser snoopy .
Il s'agit d'une simple bibliothèque de journalisation des commandes et non d'une solution d'audit appropriée (facilement contournable). Divulgation: Je suis le responsable snoopy actuel.
la source
Une astuce moins connue, mais la plus impressionnante est simplement d'utiliser les capacités d'audit intégrées de
sudo
. Sudo est livré avec unesudoreplay
commande qui facilite la relecture des sessions. Il relaiera même lesvim
sessions (comme vous le suggérez).Voici comment l'utiliser en quelques étapes simples:
sudosh
sur votre système; c'est un wrapper shell autour de lasudo
commande qui fait un utilisateur lui-sudo
même (pasroot
) et peut être utilisé comme shell de connexion systèmeActivez la
sudo
journalisation. Modifier/etc/sudoers.d/sudosh
:Defaults log_output Defaults!/usr/bin/sudoreplay !log_output Defaults!/sbin/reboot !log_output
Ajoutez cette commande à
/etc/shells
pour autoriser les connexions à l'utiliser:/usr/bin/sudosh
Astuce : pour empêcher les utilisateurs d'utiliser d'autres shells pour se connecter, supprimez ces autres shells de
/etc/shells
.Mettez à jour l'utilisateur
foobar
pour utiliser lesudosh
shell.chsh -s /usr/bin/sudosh foobar
Pour des informations plus détaillées, voir: https://github.com/cloudposse/sudosh/
la source
voici une solution magique: http://www.cyberciti.biz/tips/howto-log-user-activity-using-process-accounting.html
vous pouvez afficher des statistiques sur les commandes / connexions utilisateur, etc.
Liste toutes les commandes invoquées par un utilisateur donné ...
Recherchez les journaux de comptabilité par nom de commande: $ lastcomm rm $ lastcomm passwd
et ainsi de suite, pour plus d'informations s'il vous plaît visitez le lien ci-dessus ..
la source