Date et heure de connexion de l'utilisateur

25

Je veux récupérer l'heure et la date de connexion de l'utilisateur. Existe-t-il une commande dans Unix fournissant la date de connexion et l'heure de connexion de l'utilisateur? ce problème que je veux effectuer dans Shell-script où le nom d'utilisateur accepte de l'utilisateur final et après avoir vérifié la disponibilité de l'utilisateur, je voudrais récupérer l'heure et la date de connexion de cet utilisateur dans une variable différente, puis l'afficher à l'aide de la commande 'echo' .

Paresh Mayani
la source

Réponses:

32

Pour les connexions précédentes:

last "$USER_NAME"

En outre, la commande whorépertorie les connexions actuelles.

Si vous recherchez la date de la dernière connexion de l'utilisateur, certains systèmes la fournissent directement, par exemple lastlog -u "$USER_NAME"sur Linux ou lastlogin "$USER_NAME"sur FreeBSD. Il est également disponible dans la sortie de finger, mais pas sous une forme facile à analyser. Dans tous les cas, il est disponible dans la sortie de last(sur de nombreuses variantes Unix, last -n 1 "$USER_NAME"affiche la dernière connexion; sinon vous pouvez le faire last "$USER_NAME" | head -n 1). Notez que la dernière connexion peut ne pas correspondre à la dernière déconnexion (par exemple, un utilisateur est resté connecté depuis une origine pendant une longue période et a récemment effectué une connexion réseau rapide).

Gilles 'SO- arrête d'être méchant'
la source
Je sais que la commande 'who' fournit les informations de connexion de tous les utilisateurs, mais je veux avoir "Login-date" et "Login-time", et je ne veux pas les informations utilisateur pour la connexion précédente mais pour un nom d'utilisateur accepté par un utilisateur et souhaitez récupérer les informations sur cet utilisateur
Paresh Mayani
? le dernier "$ username" fournit "Login-date" et "Login-time". La deuxième partie de votre phrase n'est pas claire pour moi, peut-être que c'est mon anglais, peut-être la vôtre ... "Nom d'utilisateur accepté d'un utilisateur [...]"?
echox
@Paresh: J'ai manqué de moyens pour interpréter votre question. Si ma réponse ne vous aide toujours pas, essayez de clarifier votre question.
Gilles 'SO- arrête d'être méchant'
@Paresh: last $USER_NAMEmontrera également les utilisateurs actuels. Cela montrera quelque chose commeusername ttyp0 192.168.1.100 Tue Sep 13 13:09 still logged in
Stefan Lasiewski
@Gilies me permet de clarifier ce que je veux réellement faire, je veux faire un script shell dans lequel j'accepte le nom d'utilisateur comme "read $ username" et ensuite je veux vérifier si l'utilisateur est connecté ou non, si oui, je veux récupérer leur heure de connexion et leur date de connexion, merci pour le support
Paresh Mayani
3

Sous linux, last -R $username | awk '/still logged in/ {print $3,$4,$5,$6}'ne retournera rien si l'utilisateur n'est pas connecté, sinon une liste date / heure pour chaque session active.

D'autres Unix qui ne connaissent pas l' -Roption de durée (qui supprime le nom d'hôte) devront être modifiés.

Seth L
la source