Forum Programmation.shell probleme Trouver la derniere connexion d un utilisateur

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
22
déc.
2017

bjr je suis en formation pour devenir administrateur reseau et j ai un exercice a faire. Je dois controler qu un utilisateur existe bien et si oui je dois afficher sa derniere connexion et je seche, je vous mets le debut de mon script qui controle bien qu un utilisateur existe mais si vous pouviez m aider a afficher la derniere connexion de cet utilisateur , un gd merci

#!/bin/bash
echo "entrez un nom"
read  nom

recherche=$(cut -d":" -f1 /etc/passwd | grep $nom)

if [ "$recherche" == "$nom" ]
then echo "l'utilisateur existe";
else echo "l'utilisateur n'existe pas";
fi
  • # Essaye la commande :

    Posté par  . Évalué à 3.

    last

    bon après tu peux piper avec grep et tail

    • [^] # Re: Essaye la commande :

      Posté par  (site web personnel) . Évalué à 4.

      Surtout last $user

      • [^] # Re: Essaye la commande :

        Posté par  . Évalué à 1.

        ah oui, merci!
        (mais est ce que "reboot" est aussi un nom d'utilisateur valide ? :-)

        • [^] # Re: Essaye la commande :

          Posté par  (site web personnel) . Évalué à 6.

          Oui c'est un nom d'utilisateur valide, et du coup c'est plus difficile à discerner

          # adduser reboot
          Ajout de l'utilisateur « reboot » ...
          Ajout du nouveau groupe « reboot » (1002) ...
          Ajout du nouvel utilisateur « reboot » (1002) avec le groupe « reboot » ...
          Création du répertoire personnel « /home/reboot »...
          Copie des fichiers depuis « /etc/skel »...
          Entrez le nouveau mot de passe UNIX :
          Retapez le nouveau mot de passe UNIX :
          passwd : le mot de passe a été mis à jour avec succès
          Modification des informations relatives à l'utilisateur reboot
          Entrez la nouvelle valeur ou « Entrée » pour conserver la valeur proposée
                  Nom complet []:
                  N° de bureau []:
                  Téléphone professionnel []:
                  Téléphone personnel []:
                  Autre []:
          Cette information est-elle correcte ? [O/n]o
          (...)
          # last reboot
          reboot   pts/2        localhost        Sun Dec 24 12:27 - 12:27  (00:00)
          reboot   system boot  3.16.0-4-amd64   Wed Dec 20 09:35 - 12:27 (4+02:52)
          reboot   system boot  3.16.0-4-amd64   Sat Dec  9 18:47 - 09:34 (10+14:46)
          
          wtmp begins Fri Dec  1 09:13:49 2017
          
      • [^] # Re: Essaye la commande :

        Posté par  . Évalué à 1.

        Je suis choquer…

        C'est spécifique Linux ou ça marche aussi sur les UNIX ?

  • # bogue

    Posté par  . Évalué à 4.

    ton script risque de trouver des utilisateurs qui n'existent pas, ex:

    $ NOM=systemd ; cut -d':' -f1 /etc/passwd| grep "${NOM}"
    systemd-timesync
    systemd-network
    systemd-resolve

    Il faudrait rechercher le mot exact

    $ NOM=sys ;grep "^${NOM}:" /etc/passwd
    sys:x:3:3:sys:/dev:/usr/sbin/nologin
  • # getent

    Posté par  (site web personnel) . Évalué à 3.

    Notamment: getent passwd

    Système - Réseau - Sécurité Open Source

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.