Como posso descobrir quem executou um comando específico e qual terminal foi usado para executá-lo?
Original :
Como posso saber que cmd específico é executado por quem e para saber sobre meu terminal
Como posso descobrir quem executou um comando específico e qual terminal foi usado para executá-lo?
Original :
Como posso saber que cmd específico é executado por quem e para saber sobre meu terminal
Respostas:
Para ver quais comandos estão sendo executados, use "ps -ef". Isso mostrará o que todos estão fazendo, o que geralmente é muita informação.
Para reduzi-lo e descobrir quem está executando um comando específico, você pode adicionar um filtro "grep" da seguinte forma:
ps -ef | grep scp
Isso retornará todos os comandos scp, mas também poderá retornar o comando grep procurando scp e quaisquer outros comandos com as letras scp incorporadas, pois o grep está apenas correspondendo à string. Portanto, você pode precisar ser esperto com a expressão dada ao grep (muitas vezes, basta citá-lo e adicionar um espaço:
ps -ef | grep "scp "
ou ainda melhor, utilizar expressões regulares e:
ps -ef | grep "[s]cp "
Se você conhece o usuário e quer apenas saber o que está executando, "ps -fu" é seu amigo. Por exemplo
ps -fu tom
É claro que pode ser combinado com o grep para obter os processos scp de tom:
ps -fu tom | grep "[s]cp "
A coluna 6 é o tty.
Você pode usar tty
para descobrir o nome do arquivo do terminal conectado à entrada padrão.
Para a última parte da sua pergunta, sudo
ou su
então grep -c 'command' /home/username/.bash_history
.