Bonjour,
je me pose une question et c'est trop pointu pour que saint google me réponse, alors je compte qu'un HFRien aura peut-etre déjà eu le cas
j'ai des répertoires sur mon serveur de fichier. genre, plein de répertoires (comme toutes les grosses structures, on a whatmille services, chaque service ayant des outils spécifiques et des outils en commun, donc on a des répertoires par service, et des sous-répertoires par outil, et par utilité pour l'outil (style service1\outil1-courant, service1\outil1-partage, puis management, archive, applications, BDD, etc. et après, outil2, outil3, etc. et ensuite, service2, 3, 4 ... vous voyez le truc)
il faut que, pour chaque sous-répertoires dans chaque service, je supprime l'héritage des ACL, je copie les ACL existantes, je supprime un groupe qui nous ennuie parce qu'on a splitté nos activités depuis, et je rajoute à la place un groupe en lecture et un groupe en écriture, qu'on peuplera à la place de celui que je dois virer...
j'ai pas trop envie de le faire à la main
j'aimerais trouver une commande icacls qui le fasse.
j'ai déjà trouvé :
Code :
- icacls <mon répertoire serviceX\outilX-utilisation> /inheritance:d /remove:g <le groupe qu'il faut dégager> /T
|
ça copie les ACL existantes en cassant l'héritage, et ça dégage le grant right du groupe que je veux plus. enfin, je traverse les subdir pour faire ça sur toute l'arbo.
ça marche, exactement ce que je veux.
je fais ensuite :
Code :
- icacls <mon répertoire serviceX\outilX-utilisation> /grant <le groupe lecture>:(OI)(CI)R /grant <le groupe écriture>:(OI)(CI)W /T
|
pour donner le droit read en héritage à partir de mon répertoire qui va bien, et pour faire la meme chose avec les droits kivonbien au groupe écriture (et toujours /T pour les subdir)
ça aussi, ça marche, j'ai pu voir que ça me faisait exactement ce que je veux (il est possible que les droits soient pas les bons, car en fait c'est pas tout à fait ça que je fais. la question n'est pas les droits...)
mon problème, c'est que je veux faire les 2 commandes en une fois. parce que là, avec tous les sous-répertoires, les fichiers, le nombre de modif à faire, ça m'a pris toute l'après-midi pour traiter 3 répertoires
donc, je voudrais faire :
Code :
- icacls <mon répertoire serviceX\outilX-utilisation> /inheritance:d /remove:g <le groupe qu'il faut dégager> /grant <le groupe lecture>:(OI)(CI)R /grant <le groupe écriture>:(OI)(CI)W /T
|
et là, il m'envoie chier que la syntaxe est incorrecte.
je me suis dit, est-ce qu'il faut lui filer les commandes dans un certain ordre ? pourtant, j'ai besoin de le faire dans cet ordre là :
1. désactiver l'héritage d'abord, copier les ACL existants. ( /inheritance:.d )
2. supprimer les droits de l'ancien groupe qui m'ennuie ( /remove:g <groupe à dégager> )
3. ajouter les nouveaux groupes qu'on veut utiliser pour donner les droits à l'avenir (/grant pour les groupe read et write)
ya un truc qu'est pas possible, style faire dans une seule commande un remove et un grant ? (c'est ça ma plus grosse interrogation, en fait)
sachant que, pour la suite, faut que j'automatise le truc, le nom des différents groupes doit pouvoir etre deviné à partir des noms des répertoires, au pire je foutrais tout ça dans un CSV si c'est trop compliqué.
du coup, je sais pas si ça foire parce que je fais mal mon powershell, ou si parce que c'est juste pas possible en un coup
voilà, merci
Message édité par misato le 30-07-2019 à 21:29:01
---------------
shibboleet ! - HADOPI vous a plu ? Vous allez adorer la LOPPSI ! - generation NT bande de criminels inconscients !