Vous connaissez à coup sûr la commande history
sous Linux ! Savez vous que vous pouvez contrôler la taille et le format du fichier ? Il suffit pour cela d’utiliser les variables d’environnement suivantes :
HISTFILESIZE
définit la taille maximale en octets de votre fichier qui contient l’historique de vos commandesHISTSIZE
contient le nombre maximum de lignes du même fichierHISTTIMEFORMAT
définit le format de stockage de l’historique des commandes ; vous pouvez ainsi stocker la date de l’exécution de la commande avec elle.
Voici par exemple, le contenu de mon fichier .bash_profile
qui permet d’assurer que je retrouve à peu prêt toutes mes commandes ainsi que le moment (date et heure) de leur exécution :
export HISTFILESIZE=1000000000
export HISTSIZE=1000000
export HISTTIMEFORMAT="%F %T"
Evidemment à moins d’utiliser rlwrap et un alias, l’historique d’exécution de SQL*Plus par exemple n’en fait pas partie. D’autre part, l’utilisateur peut, à volonté éditer et donc modifier le contenu de l’historique des commandes… Attention donc si vous avez l’habitude de vous tromper dans vos copier/coller ou de passer des mots de passe en paramètre de vos lignes de commandes.
Si vous cherchez une solution pour auditer le travail de vos utilisateurs, vous préfèrerez utiliser d’autres outils comme GNU Accounting Utilities ou sudo.