Je sais que la commande «historique» me donne une liste des commandes que j'ai tapées dans le terminal Unix.
Comment puis-je voir l'historique des commandes de tous les utilisateurs actuellement connectés au système?
Je sais que la commande «historique» me donne une liste des commandes que j'ai tapées dans le terminal Unix.
Comment puis-je voir l'historique des commandes de tous les utilisateurs actuellement connectés au système?
Réponses:
Vous obtenez une liste des utilisateurs actuellement connectés dans /var/run/utmp
(voir man 5 utmp
). L'historique est stocké dans ~ / .history ou pour l'utilisateur bash dans ~ / .bash_history. D'autres shells peuvent utiliser d'autres fichiers d'historique, il n'est donc pas si facile d'obtenir vraiment toutes les informations.
De plus, si un utilisateur est connecté plusieurs fois, le fichier .bash_history n'est pas toujours fiable.
Pour lire le utmp
fichier, un "frontend" est appelé who
, vous pouvez donc également écrire un script shell pour parcourir les utilisateurs actuellement connectés.
history -a
ou similaire ou lorsqu'un utilisateur quitte le shell.