Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 01/06/2014, à 15:45

Crone123

Paramètres: Tous les dossiers sauf ...

Bonjour,
Comment faire, sur les commandes de base, genre cp, mv, chmod, chown ou setfacl (surtout pour ce dernier) pour dire:
Appliquer récursivement quelque chose sur le dossier Test
Mais ignorer les dossiers Test/Dossier1 et Test/Dossier2/Dossier3

En gros, je veux gagner du temps en appliquant par exemple des droits sur un dossier et son contenu, mais sans affecter certains dossiers qui sont dedans.

Merci smile

Hors ligne

#2 Le 01/06/2014, à 17:34

pingouinux

Re : Paramètres: Tous les dossiers sauf ...

Bonjour,
Voici un exemple avec chmod. Il suffit d'enlever le echo si les commandes sont correctes.

find Test \( \( -path Test/Dossier1 -o -path Test/Dossier2/Dossier3 \) -prune \) -o -exec echo chmod g=rwX {} \;

Ce serait la même chose avec chown, et sans doute setfacl (que je n'utilise pas).

Pour cp et mv, c'est plus délicat (faut-il déplacer un répertoire contenant un répertoire à ne pas déplacer ?). Si tu veux déplacer tous les fichiers répondant aux critères (à l'exclusion des répertoires), vers le répertoire Destination (sans conserver l'arborescence) :

find Test \( \( -path Test/Dossier1 -o -path Test/Dossier2/Dossier3 \) -prune \) -o \( -type f -exec echo mv {} Destination \; \)

Hors ligne

#3 Le 01/06/2014, à 19:19

Crone123

Re : Paramètres: Tous les dossiers sauf ...

OK, donc en fait on retrouve notre ami "find" que j'utilise déjà dans beaucoup de cas, donc je suppose que ce n'est pas possible sans...
Mais merci quand même pour les exemples ça pourra me servir smile

EDIT: Et pour setfacl c'est pour les ACL, c'est vachement pratique dès qu'il y a de nombreux utilisateurs qui partagent un même dossier.
D'ailleurs, j'ai beau avoir cherché, au niveau des droits utilisateurs, Linux est une vraie plaie. Autant c'est très précis et très fonctionnel, autant on a du mal a débloquer totalement les droits pour tout le monde pour un partage.
Si un gars extrait une archive ou créer des dossiers et sous dossiers tout ça, ou coupe des fichiers au lieu de les copier, quasiment a tous les coups ça restreint les droits pour les autres, même si j'ai tout fait dans mes réglages de droits pour que les droits des dossiers parents s'appliquent aux enfants.
Du coup, le seul truc fiable que j'ai trouvé, c'est une tâche cron qui se lance toutes les minutes en tant que root, et qui remet les droits comme je le voulais. C'est vraiment nul d'être résigné a faire ça pour avoir des droits qui sont vraiment conservés comme on veut, sinon on fini toujours par avoir un truc qui n'est pas accessible aux autres utilisateurs, et on fini toujours par être obligé de venir en tant que root pour débloquer le dossier....j'ai déjà cherché pour virer complètement les restrictions ou autres de dossiers/partition mais j'ai rien trouvé de mieux que ma tâche cron malheureusement...

Si quelqu'un a une solution fiable pour ces problèmes de restrictions de droits qui se mettent quasiment a chaque fois sur les dossiers partagés (comme expliqué plus haut) ça m’intéresse.
Parce que du coup, ma question de ne pas prendre un certain dossier c'était pour ma tâche cron, comme je n'ai pas de meilleure solution.
Merci smile

Dernière modification par Crone123 (Le 01/06/2014, à 19:25)

Hors ligne