No relacionado con la programación. Te sugiero que preguntes superusuario.com .
No existe una herramienta estándar para obtener la información, por lo que creo que está relacionada con la programación (al menos en el sentido de 'scripting').
IanH
Respuestas:
10
Obtienes una lista de usuarios actualmente conectados en /var/run/utmp (ver man 5 utmp ). El historial se almacena en ~ / .history o para el usuario de bash en ~ / .bash_history. Otros shells pueden usar otros archivos de historial, por lo que no es tan fácil obtener realmente toda la información.
Además, si un usuario inicia sesión varias veces, el archivo .bash_history no siempre es confiable.
Para leer el utmp archivo hay un "frontend" llamado who, por lo que también podría escribir un script de shell para iterar sobre los usuarios actualmente conectados.
La historia actual se lleva a cabo en la memoria. El archivo histórico solo muestra lo que fue escrito usando history -a o similar o cuando un usuario sale de la shell.
Dennis Williamson
2
Tenga en cuenta que los nombres de archivo dados en esta respuesta son simplemente los valores predeterminados. Cada usuario podría haber establecido su propia ubicación (ver la respuesta de Joy). Si un usuario está utilizando shells diferentes, posiblemente podría almacenar sus historiales en diferentes ubicaciones no predeterminadas (por ejemplo, ~ / mybashhist, ~ / histories / ksh o somesuch). Además, tenga en cuenta que el hecho de que los datos de los usuarios se vean de esa manera podría tener implicaciones legales.
Respuestas:
Obtienes una lista de usuarios actualmente conectados en
/var/run/utmp
(verman 5 utmp
). El historial se almacena en ~ / .history o para el usuario de bash en ~ / .bash_history. Otros shells pueden usar otros archivos de historial, por lo que no es tan fácil obtener realmente toda la información.Además, si un usuario inicia sesión varias veces, el archivo .bash_history no siempre es confiable.
Para leer el
utmp
archivo hay un "frontend" llamadowho
, por lo que también podría escribir un script de shell para iterar sobre los usuarios actualmente conectados.fuente
history -a
o similar o cuando un usuario sale de la shell.Luego ve ese archivo.
fuente
HISTFILE
a otra cosa).