¿Cómo puedo averiguar quién ejecutó un comando en particular y qué terminal se utilizó para ejecutarlo?
Original :
¿Cómo puedo saber quién ejecuta un cmd particular y saber sobre mi terminal?
¿Cómo puedo averiguar quién ejecutó un comando en particular y qué terminal se utilizó para ejecutarlo?
Original :
¿Cómo puedo saber quién ejecuta un cmd particular y saber sobre mi terminal?
Respuestas:
Para ver qué comandos se ejecutan, utilice "ps -ef". Sin embargo, esto le dirá lo que todos están haciendo, que generalmente es demasiada información.
Para reducirlo y descubrir quién ejecuta un comando en particular, puede agregar un filtro "grep" de esta manera:
ps -ef | grep scp
Esto devolverá todos los comandos scp, pero también puede devolver el comando grep buscando scp y cualquier otro comando con las letras scp incrustadas en ellos, ya que grep solo coincide con la cadena. Por lo tanto, es posible que deba ser inteligente con la expresión dada a grep (muchas veces solo necesita citarlo y agregar un espacio:
ps -ef | grep "scp "
o incluso mejor aprovechar las expresiones regulares y:
ps -ef | grep "[s]cp "
Si conoce al usuario y solo quiere saber qué está ejecutando, entonces "ps -fu" es su amigo. Por ejemplo
ps -fu tom
Que, por supuesto, se puede combinar con grep para obtener los procesos scp de tom:
ps -fu tom | grep "[s]cp "
La columna 6 es el tty.
Puede usar tty
para averiguar el nombre del archivo del terminal conectado a la entrada estándar.
Para la última parte de tu pregunta, sudo
o su
y luego grep -c 'command' /home/username/.bash_history
.