Comment pouvez-vous enregistrer chaque commande entrée par quelqu'un dans le shell?
Je vous demande à la fois de vous protéger si vous êtes connecté au serveur de quelqu'un d'autre et que quelque chose casse, ou si quelqu'un d'autre est connecté à votre serveur (intentionnellement ou par malveillance).
Même un novice peut contourner l'histoire avec unset history
ou créer un nouveau shell pour cacher ses traces.
Je suis curieux de savoir comment les administrateurs linux seniors suivent quelles commandes ont été entrées / modifications apportées au système.
la source
execve
n'est sûrement pas le seul appel système que vous devez vous connecter. Pourquoi pasexecvp
aussi bien? Ouexecl
? etc.exec
il est dit que "Laexec()
famille de fonctions remplace l'image de processus actuelle par une nouvelle image de processus. Les fonctions décrites dans cette page de manuel sont des frontaux pourexecve(2)
." Donc, même si je ne suis pas sûr,execveat
je peux être sûr de laexec
famille.Vous pouvez utiliser la commande de script . Cette commande n'est pas incluse dans POSIX, mais vous trouverez utile de stocker dans un fichier toutes les frappes ainsi que les messages de sortie et d'erreur. Vous pourrez ultérieurement consulter le fichier. Si vous effectuez un travail important et souhaitez conserver un journal de toutes vos activités, vous devez appeler cette commande immédiatement après vous être connecté:
$ script
Script démarré, le fichier est dactylographié
$ _ Notez qu'il s'agit d'un autre shell - enfant du shell de connexion
L'invite revient et toutes vos frappes (y compris celle utilisée pour revenir en arrière) que vous entrez maintenant ici sont enregistrées dans le fichier 'dactylographié'. Une fois votre enregistrement terminé, vous pouvez terminer la session en entrant exit .
Remarque: Si vous saisissez le nom de fichier du script , la session sera stockée dans le nom de fichier plutôt que tapuscrit , c'est-à-dire que tapuscrit est la valeur par défaut si aucun nom de fichier spécifique n'est spécifié.
Vous pouvez maintenant utiliser le nom de fichier cat ou le script tapé cat , selon le cas, pour afficher la session enregistrée.
Si vous souhaitez ajouter une nouvelle session à un ancien fichier, utilisez: script -a Ajoute la nouvelle session à la dactylographie, la même règle par défaut s'applique ici aussi
C'est une façon dont un administrateur système peut garder une trace des sessions. J'espère que cela a été instructif et utile. À votre santé!
la source