GNU/Linux >> Tutoriels Linux >  >> Linux

Comment enregistrer chaque commande tapée ?

Comment pouvez-vous enregistrer chaque commande que quelqu'un a saisie dans le shell ?

Je demande à la fois de vous protéger si vous êtes connecté au serveur de quelqu'un d'autre et que quelque chose se brise, ou si quelqu'un d'autre est connecté à votre serveur (intentionnellement ou par malveillance).

Même un novice peut contourner l'historique avec unset history ou créez un nouveau shell pour masquer leurs traces.

Je suis curieux de savoir comment les administrateurs Linux principaux suivent les commandes saisies / les modifications apportées au système.

Réponse acceptée :

Découvrez auditd. Si vous ajoutez

-a exit,always -F arch=b64 -S execve
-a exit,always -F arch=b32 -S execve

vers /etc/audit/audit.rules toutes les commandes exécutées seront enregistrées. Voir :http://whmcr.com/2011/10/14/auditd-logging-all-commands/

Envoyez-le ensuite à un serveur syslog.


Linux
  1. Comment tromper une commande particulière en lui faisant croire qu'il s'agit d'une date différente ?

  2. Linux - Comment démarrer Puppy Linux Slacko dans la ligne de commande ?

  3. Comment enregistrer chaque commande tapée dans bash et chaque opération de fichier ?

  4. Comment se connecter au conteneur Lxc ?

  5. Comment restaurer la base de données MySQL à l'aide de la commande en SSH ?

Comment utiliser Linux Time Command :tout ce que vous devez savoir

Comment démarrer en ligne de commande Linux

Comment exécuter une commande Linux toutes les X secondes pour toujours

Comment enregistrer tout ce que vous faites dans le terminal

Comment passer un argument de ligne de commande dans un script shell ?

Comment se connecter au webmail dans Plesk