Comment savoir qui a exécuté une commande particulière et quel terminal a été utilisé pour l'exécuter?
Original :
Comment savoir si une cmd particulière est exécutée par qui et pour connaître mon terminal
Comment savoir qui a exécuté une commande particulière et quel terminal a été utilisé pour l'exécuter?
Original :
Comment savoir si une cmd particulière est exécutée par qui et pour connaître mon terminal
Réponses:
Pour voir quelles commandes sont exécutées, vous utilisez "ps -ef". Cela vous dira ce que tout le monde fait, ce qui est généralement trop d'informations.
Pour le réduire pour découvrir qui exécute une commande particulière, vous pouvez ajouter un filtre "grep" comme ceci:
ps -ef | grep scp
Cela renverra toutes les commandes scp mais cela pourrait également renvoyer la commande grep recherchant scp et toute autre commande avec les lettres scp incorporées, car grep ne fait que correspondre à la chaîne. Donc, vous devrez peut-être devenir intelligent avec l'expression donnée à grep (la plupart du temps, il vous suffit de le citer et d'ajouter un espace:
ps -ef | grep "scp "
ou encore mieux tirer parti des expressions régulières et:
ps -ef | grep "[s]cp "
Si vous connaissez l'utilisateur et que vous voulez juste savoir ce qu'il exécute, alors "ps -fu" est votre ami. Par exemple
ps -fu tom
Qui peut, bien sûr, être combiné avec grep pour obtenir les processus scp de tom:
ps -fu tom | grep "[s]cp "
La colonne 6 est le tty.
Vous pouvez utiliser tty
pour connaître le nom de fichier du terminal connecté à l'entrée standard.
Pour la dernière partie de votre question, sudo
ou su
puis grep -c 'command' /home/username/.bash_history
.