GNU/Linux >> Tutoriels Linux >  >> Linux

Puis-je enregistrer l'activité vi ?

Comment enregistrez-vous leurs activités en ce moment ? Le plus simple est de les empêcher de lancer des shells depuis vi.

# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc

Si vous utilisez un shell spécial pour enregistrer leurs commandes, vous pouvez modifier vi pour n'utiliser que ce shell.


Vous pouvez également activer la comptabilisation des processus ( s/can/should/ !)

Vous pouvez ensuite utiliser :

lastcomm(1)

pour voir la commande exécutée et si elle a été exécutée après un fork, avec ou sans exec.

Combiné avec un IDS basé sur l'hôte, cela devrait vous donner ce dont vous avez besoin "pour que la justice du Roi lui soit rendue".


Parlez-vous de l'histoire du shell? mode shell vi (:sh ) lance le shell par défaut de l'utilisateur. S'il s'agit de bash, vous pouvez vous assurer que la journalisation de l'historique est toujours activée en modifiant le /etc/bashrc global et en ajoutant :

set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'

cela garantira que chaque commande utilisateur est enregistrée dans un fichier, qu'elle n'est pas écrasée et qu'elle est mise à jour à chaque fois que l'invite du shell apparaît.

Notez que les utilisateurs peuvent remplacer cela dans leur ~/.bashrc personnel ce n'est donc pas une garantie absolue que la journalisation aura lieu.

Certaines versions de vi (comme nvi) prennent en charge un mode sans échec qui désactive l'accès au shell, en démarrant vi en tant que nvi -S . Vous pouvez définir un alias global dans /etc/bashrc pour forcer également ce mode par défaut.

Notez qu'en général, le problème des utilisateurs qui accèdent au shell par des moyens inattendus est un problème Unix classique. Il n'y a aucun moyen de le désactiver complètement, le mieux que vous puissiez faire est d'essayer de limiter l'accès par défaut. Un utilisateur averti (ou même un utilisateur qui sait utiliser Google) peut toujours contourner ces restrictions. Par exemple, si un utilisateur ne veut pas que son historique de shell soit enregistré, il peut toujours exécuter une nouvelle copie du shell avec les options qu'il souhaite utiliser.

Voici un excellent article sur la façon de forcer la journalisation dans bash et les moyens de contourner la journalisation.

Enfin, avez-vous envisagé de simplement parler à l'utilisateur pour déterminer ce qu'il fait ? 99% du temps, une simple communication verbale peut dissiper toute confusion. Si vous enregistrez l'activité de cet utilisateur parce que vous ne lui faites pas confiance, vous pouvez peut-être lui parler de vos préoccupations.


Linux
  1. Comment enregistrer chaque commande shell sous Linux

  2. Journalisation Python - vérifier l'emplacement des fichiers journaux ?

  3. Comment puis-je faire une division avec des variables dans un shell Linux ?

  4. Comment puis-je trouver ma version de shell à l'aide d'une commande Linux ?

  5. Impossible d'ajouter un utilisateur au groupe docker

Comment activer la journalisation des requêtes MySQL/MariaDB

Ssh - Script Shell pour se connecter à un serveur Ssh ?

Enregistrer l'activité Ssh ?

Comment créer une configuration Rsyslog de journalisation centralisée

Comment gérer la verbosité du journal dans un script shell ?

Windows peut-il utiliser un shell Linux au lieu de cmd ?