En attendant de trouver mieux, voici la méthode que j'utilise :
Appel d'un script d'audit qui fait :
subinacl /noverbose /outputlog="P:\NAS\Logs\Droits\Audit-%2-%DATE:~0,2%%DATE:~3,2%%DATE:~-2%-%TIME:~0,2%%TIME:~3,2%.log" /subdirectories %1 |
Syntaxe : Auditer-repertoire.bat REPERTOIRE NOM-FICHIER
Auditer-repertoire.bat M: M-CUGN Log dans P:\NAS\Logs |
Puis, un truc à la con, il faut enlever des caractères spéciaux ^@ que subinacl met dans les log pour une raison que je ne connais pas. Je le fais avec VI :
Note : ^@ est à faire en faisant ctrl+@. En suite, je le passe en argument à mon script de purification avec avoir renseigné le service "par défaut" de cet audit :
@echo off
:: Utilisateur ou groupe à exclure quelque soit le masque
SET E1=!
SET E2=!
SET E3=!
SET E4=!
SET E5=!
SET E6=!
SET E7=!
SET E8=!
:: Couple utilisateur / groupe & AccessMask à exclure
:: Ne pas oublier d'échapper (doubler) le slash
SET U1=domaincugn\\.cug_deplacements
SET A1=0x1301bf
SET U2=builtin\\administrateurs
SET A2=0x1f01ff
SET U3=domaincugn\\.file_admin
SET A3=0x1301bf
SET U4=domaincugn\\admins du domaine
SET A4=0x1f01ff
SET U5=gdnancy\\admins du domaine
SET A5=0x1f01ff
:: Droits génériques à ignorer
:: RWX + Delete
SET G1=0xe0010000
:: RX
SET G2=0xa0000000
:: ALL
SET G3=0x10000000
:: Autres lignes à exclure
SET D1=\/control=
SET D2=\/owner
SET D3=\/primary group
SET D4=\/audit ace count
SET D5=\/perm. ace count
:: Suppresion des lignes ne contenant pas de caractères alphanumériques
grep -n "[a-zA-Z0-9]" %1 > %1-0.tmp
:: Suppressions systématiques des infos inutiles
sed -e "/%D1%/I d" -e "/%D2%/I d" -e "/%D3%/I d" -e "/%D4%/I d" -e "/%D5%/I d" %1-0.tmp > %1-1.tmp
:: Suppressions systématiques d'utilisateurs, de groupes et d'infos génériques
sed -e "/%E1%/I d" -e "/%E2%/I d" -e "/%E3%/I d" -e "/%E4%/I d" -e "/%E5%/I d" -e "/%E6%/I d" -e "/%E7%/I d" -e "/%E8%/I d" -e "/%G1%/I d" -e "/%G2%/I d" -e "/%G3%/I d" %1-1.tmp > %1-2.tmp
:: Suppression des couples
sed -e "/.*%U1%.*Type=0x0.*AccessMask=%A1%/I d" -e "/.*%U2%.*Type=0x0.*AccessMask=%A2%/I d" -e "/.*%U3%.*Type=0x0.*AccessMask=%A3%/I d" -e "/.*%U4%.*Type=0x0.*AccessMask=%A4%/I d" -e "/.*%U5%.*Type=0x0.*AccessMask=%A5%/I d" %1-2.tmp > %1-3.tmp
:: On ne garde que les fichiers qui ont des droits spéciaux
grep -B 1 -v +File %1-3.tmp > %1-droits-speciaux.txt
:: On efface les fichiers temporaires
rm *.tmp
:: On nettoie les variables pour la console
SET E1=
SET E2=
SET E3=
SET E4=
SET E5=
SET E6=
SET E7=
SET E8=
SET U1=
SET U2=
SET U3=
SET U4=
SET U5=
SET U6=
SET U7=
SET U8=
SET A1=
SET A2=
SET A3=
SET A4=
SET A5=
SET A6=
SET A7=
SET A8=
SET G1=
SET G2=
SET G3=
SET D1=
SET D2=
SET D3=
SET D4=
SET D5= |
Message édité par Master_Jul le 03-10-2006 à 10:50:29