Remise à plat des acl d'une arborescence

Pourquoi ?

Et bien, lorsqu'on a trifouiller les sécurités ntfs, déplacé des répertoires, si des utilisateurs on bloqué l'héritage des sécurités NTFS. On peut vouloir remettre tout ça au propre.


Principe :

Il faut que le nom du répertoire soit le nom de son propriétaire.

  1. On parcours l'arborescence.
  2. On prend possession en tant qu'administrateur de tout le contenu du répertoire
  3. On met les sécurités NTFS de l'utilisateur (ici modifier sur son répertoire)
  4. On réinitialise toutes les acl du répertoire
  5. On remet l'utilisateur propriétaire de son répertoire

Exécuter le script dans le répertoire concerné, setacl doit être aussi dans ce répertoire ou disponible dans PATH (setacl ici)


FOR /d %%i in (*) do (
REM A moi tous les fichiers
setacl -on d:\profs\%%i\ -ot file -actn setowner -ownr "n:administrateurs" -rec cont_obj
REM toi, utilisateur avoir seulement droit de modifier !
setacl -on d:\profs\%%i -ot file -actn ace -ace "n:%userdomain%\%%i;p:change"
REM Forcer l'héritage sur tous les fichiers et sous dossiers et les sous fichiers et...
setacl -on d:\profs\%%i -ot file -actn rstchldrn -rst "dacl,sacl"
REM Bon, jte les rend tes fichiers et pis tes dossiers aussi va
setacl -on d:\profs\%%i\ -ot file -actn setowner -ownr "n:%userdomain%\%%i" -rec cont_obj
)