Script Suppression Dossier Utilisateur

Résolu
Bonjour,

Je cherche en shell a comparer 2 fichiers, un fichier /utilisateurs (qui contient les utilisateurs ayant un dossier dans /home) et le fichier /etc/passwd (qui contient tout les utilisateurs). Si un utilisateur présent dans /utilisateurs n'existe pas dans /etc/passwd alors le dossier avec le nom manquant sera écrasé dans /home/lesnomsmanquants.

Je suis un peu perdu.

#!/bin/bash
ls /home > /utilisateurs
grep -f /utilisateurs /etc/passwd
if [ si tout les utilisateurs de /utilisateurs sont presents dans /etc/passwd ]
then "rien ne se passe"
else
rm les dossiers avec les noms manquants dans /home
fi

Je vous demande donc de l'aide.

Merci.

3 réponses

  1. Contributeur
    Salut,

    Testes ça :
    #! /bin/bash

    for i in /home/*
    do grep -qw "${i}" /etc/passwd || (echo "Suppression de ${i}" && file "${i}")
    done


    Si la sortie sur l'écran te plaît, tu remplaces
    && file "${i}"
    par
    && rm -rvf "${i}"
    .

    ;-)
    1. Merci pour la reponse rapide, je teste ça demain dans la matinée puis je vous fais un retour.
      Cordialement.
      1. Bonjour,
        Je viens de tester le script, parfait.
        Merci, je passe le sujet en résolu.
        Cordialement.