Quero buscar a hora e a data de login do usuário. Existe algum comando no Unix que fornece a data de login e a hora de login do usuário? Esse problema eu quero executar no Shell-script em que o nome de usuário está aceitando do usuário final e após verificar a disponibilidade do usuário, gostaria de buscar o tempo de login e a data de login desse usuário em diferentes variáveis e exibir usando o comando 'echo' .
Para logons anteriores:
last "$USER_NAME"
Além disso, o comando who
lista os logins atuais.
Se você está procurando a data do último login do usuário, alguns sistemas a fornecem diretamente, por exemplo lastlog -u "$USER_NAME"
no Linux ou lastlogin "$USER_NAME"
no FreeBSD. Também está disponível na saída de finger
, mas não em um formato fácil de analisar. De qualquer forma, está disponível na saída de last
(em muitas variantes unix, last -n 1 "$USER_NAME"
mostra o último login; caso contrário, você pode fazer last "$USER_NAME" | head -n 1
). Observe que o último login pode não corresponder ao último logout (por exemplo, um usuário permaneceu conectado a uma origem por um longo tempo e fez um login rápido na rede recentemente).
No linux, last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'
não retornará nada se o usuário não estiver conectado, caso contrário, uma lista de data/hora para cada sessão ativa.
Outros unixes que não conhecem o -R
A opção last (que suprime o nome do host) precisará de algumas modificações.