[script schell] Suppr contenu de fichiers

Fermé
Ben - 21 juil. 2006 à 16:16
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 21 juil. 2006 à 16:53
Bonjour,
Depuis que j'ai mis en place mon serveur de mail, je vérifiais assez souvent les spams (et les supprimais manuellement).
J'ai écrit le script suivant pour automatiser un peu la chose maintenant que de nombreux spams sont filtrés:
cd /home/$1/mail
rm -f Spam
touch Spam
chown $1:popusers Spam
chmod 600 Spam

et donc j'appelle le script avec en paramètre un nom d'utilisateur.

Est-il possible de généraliser ceci à l'ensemble des utilisateurs (genre comme si chaque utilisateur passait manuellement un par un)?

Merci pour votre aide

2 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
21 juil. 2006 à 16:23
Salut,

ce n'est pas mon point fort le shell mais voilà comment je vois les choses

Tu fait une boucle for i in liste_utilisateurs

Tu supprimes le fichier pour le récréer et ensuite l'attribution de proprietaire et du group et les droits.

Opérations un peu inutiles. Tu n'as pas besoin de supprimer les fichiers donc de taper ensuite des commandes pour l'attribution de prop et group.

Une simple rédirection et le fichier et vidé

> fichier et le fichier ne contient plus rien, mais il garde le proprietaire et le group et les droits


A traduire en shell et voilà.
Je pourrai te faire un script en Perl si ça t'interesse.

lami20j
0
ou mieux tu récupères les utilisateurs dans /etc/passwd
ou for i in `ls /home`do teliste les users
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
21 juil. 2006 à 16:53
Salut,

Tu fait une boucle for i in liste_utilisateurs

Quand j'ai dit liste_utilisateurs c'est à ça for i in `ls /home` que j'ai pensé.

Je suis trop paresseux pour écrire une liste à la main ;)

J'ai donné just un petit algo et pas la solution.

lami20j
0