Não relacionado à programação. Eu sugiro que você pergunte no superuser.com .
Não existe uma ferramenta padrão para obter as informações, então eu acho que está relacionado à programação (pelo menos no sentido de 'script').
IanH
Respostas:
11
Você obtém uma lista dos usuários atualmente conectados /var/run/utmp(consulte man 5 utmp). O histórico é armazenado em ~ / .history ou para o usuário bash em ~ / .bash_history. Outros shells podem usar outros arquivos de histórico, portanto, não é tão fácil obter realmente todas as informações.
Além disso, se um usuário estiver conectado várias vezes, o arquivo .bash_history nem sempre é confiável.
Para ler o utmparquivo, existe um "frontend" chamado who, para que você também possa escrever um shell-script para iterar sobre os usuários atualmente conectados.
O histórico atual é mantido na memória. O arquivo de histórico mostra apenas o que foi escrito usando history -aou semelhante ou quando um usuário sai do shell.
Pausado até novo aviso.
2
Observe que os nomes de arquivo fornecidos nesta resposta são apenas os padrões. Cada usuário poderia ter definido sua própria localização (consulte a resposta de Joy). Se um usuário estiver usando shells diferentes, é possível que eles possam armazenar seus históricos em locais diferentes e não padrão (por exemplo, ~ / mybashhist, ~ / histories / ksh ou algo assim). Além disso, esteja ciente de que inspecionar dados do usuário como esse pode ter implicações legais.
Respostas:
Você obtém uma lista dos usuários atualmente conectados
/var/run/utmp
(consulteman 5 utmp
). O histórico é armazenado em ~ / .history ou para o usuário bash em ~ / .bash_history. Outros shells podem usar outros arquivos de histórico, portanto, não é tão fácil obter realmente todas as informações.Além disso, se um usuário estiver conectado várias vezes, o arquivo .bash_history nem sempre é confiável.
Para ler o
utmp
arquivo, existe um "frontend" chamadowho
, para que você também possa escrever um shell-script para iterar sobre os usuários atualmente conectados.fonte
history -a
ou semelhante ou quando um usuário sai do shell.Então veja esse arquivo.
fonte
HISTFILE
para outra coisa).