Besoin d'aide script shell supprimer user

phoenix00 Messages postés 15 Statut Membre -  
 francois -
Bonjour à tous,

Je souhaite réaliser un script shell qui me permet de supprimer les comptes utilisateurs inactifs depuis plus de 30 jours et d'archiver leurs données.
Je ne parviens pas à ecrire ce script. Il me semble qu'il faut utiliser la commande lastlog mais je n'en suis pas sur...

Si vous avez une idée, merci de me donner un coup de main ;-)
Configuration: Windows XP
Firefox 2.0.0.8

5 réponses

  1. francois
     
    Bonjour,

    bonjour, tu peux faire effectivement un script basé sur la commande last, mais à ta place je n'effacerais pas les accomptes non utilisés, mais juste bloquer les accomptes. ca evite que des fichiers sur les serveurs n'est plus de proprietaires.
    0
  2. phoenix00 Messages postés 15 Statut Membre
     
    Merci pour ta reponse.

    Cependant, je cherche bien à supprimer les comptes inactifs. De tout de façon, je supprime ensuite les fichiers des utilisateurs après les avoir archivées.
    0
  3. francois
     
    Bonjour,

    je dirais de faire un script dans ce genre la ( mais je me base sur solaris comme OS)

    last | grep 'dernier_mois_de_connection ' | awk '{print $1}' | uniq >/tmp/valid_users

    ==> ce qui me permet de valider les utilisateurs qui se sont connecté au cours du dernier mois ( par exemple a faire tourner le 30 ou 31 au soir de chaque mois.

    for i in `cat /tmp/valid_users`
    do
    grep $i /etc/passwd > /etc/passwd-new
    done

    ==> ce qui permet de copier les accomptes des users qui ont été connecté vers un nouveau fichier.

    mv /etc/passwd /etc/passwd.'date_du_jour' ==> backup du passwd file du moment.
    mv /etc/passwd-new /etc/passwd ==> mets le nouveau fichier passwd en place
    pwconv ==> synchronise le shadow file avec le nouveau passwd obtenu

    Remarque importante, il faut d'office que les 10 ou 15 premieres lignes soient copiéer , car elles ont des accomptes utilisés pour l'OS et ne se connecte pas forcement.
    0
  4. phoenix00 Messages postés 15 Statut Membre
     
    Merci pour ton aide,

    mais je crois que ca ne colle pas.
    En fait mon script doit s'executer tous les dimanche et donc supprimer automatiquement les users qui ne se sont pas connecté depuis plus de 30 jours... Il faudrait donc, je pense, que le script lors de sa date d'execution supprime les users en fonction de la date de leur dernière connexion...je ne sais pas trop...
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. francois
     
    Bonjour,

    dans ce cas la, la commande finger login est la plus facile, elle te donne la derniere date d'acces au systeme.
    Mais attention, si tu utilises cette commande, elle ne peut s'averer efficace que si les accomptes des utilisateurs sont créé en local sur chaque machine, et que tu n'utilises pas NIS, NIS+ , LDAP ... ou tout autre moyen de gestion centralisée des accomptes.

    ex : finger root
    0