
Atualmente tenho uma sessão SSH root em um servidor Debian Wheezy e vejo que outro usuário está logado (com uma conta sem privilégios). Como o usuário ainda está logado, o comando history
não está mostrando a coisa certa porque o histórico não foi liberado e o ~/.bash_history
arquivo não está atualizado (ainda está na memória).
Como posso despejar memória para ver o que um usuário fez durante sua sessão quando ainda estava logado?
Responder1
Aqui está um pequeno script que deve despejar o histórico. Observe que você precisa ser root para roubar espaço de memória de outros processos.
#!/bin/bash
if [ $# -eq 0 ]; then
echo "usage: $0 <bash_pid>"
exit 1
fi
gdb -batch \
--eval "set sysroot /" \
--eval "attach $1" \
--eval "call write_history(\"/tmp/bash_history-$1.txt\")" \
--eval 'detach' \
--eval 'q'
exit 0
ps Ver um erro como 'aviso: não foi possível carregar símbolos de biblioteca compartilhada para ...' pode ocorrer junto com algumas outras linhas de erro. Tente encontrar o arquivo de histórico em /tmp/ antes de começar, convencido de que o script não funcionou.
Responder2
Você realmente não pode confiar no bash_history porque ele nem sempre é salvo ou pode ser sobrescrito. Além disso, nem tudo geralmente é salvo durante o uso em várias sessões (isso depende da configuração, é claro).
Se você realmente precisa desses dados rastreados, eu continuaria configurando acct
o que possui ferramentas úteis como:
ac
O comando imprime as estatísticas de logins/logouts de usuários (tempo de conexão) em horas.lastcomm
comando imprime as informações dos comandos do usuário executados anteriormente.accton
O comando é usado para ligar/desligar o processo de contabilidade.sa
comando resume informações de comandos executados anteriormente.last
elastb
os comandos mostram a listagem dos últimos usuários logados.
Para instalar:
apt-get install acct
Então você deve habilitar o serviço
service pcacct start