Discussion Trucs:Sauvegarder les ACL
Sauvgarder les droits [ chmod ]
1.- Nous sauvegardons le droit du dossier /etc , pour ce faire on modifie la variable ScanRep :
ScanRep=(/etc) 2.- #Modifier ici le répertoire de sauvgarde (par défaut c'est sur le bureau de l'utilisateur en cours) Filesave1="$HOME/Desktop${ScanRep["$i"]}.acl.sav1" 3.- sauvegarder le script Ensuite su ou sudo sh nom_du_script vous aurez donc votre fichier etc.acl.sav1 qui contiens donc les droit sauvegarder. Maintenant, vous faites une mauvaise manoeuvre a savoir un su sudo chmod -R 0777 /etc. Il vous suffira de récupérer grâce a la sauvegarde faite avant ! 4.- En ligne de commande: su ou sudo setfacl --restore=/sauvgarde/etc.acl.sav1 Enfin pour la documentation. man setfacl et man getfacl
Voici le code:
#!/bin/sh
#Tester le 11.08.2007 en root
#Les repertoire a scanner ( ou directement la racine / ) !
ScanRep=(/etc /usr /boot /lib /opt /sbin /root /srv /var /initrd /proc /selinux /home /bin /dev /sys /vmlinuz /initrd.img /tmp)
for TB in ${ScanRep[*]} ; do
#Modifier ici le répertoire de sauvgarde (par défaut c'est sur le bureau de l'utilisateur en cours)
Filesave1="$HOME/Desktop${ScanRep["$i"]}.acl.sav1"
FULLSAVE=${ScanRep["$i"]}
echo "Demarrage : " `date` " pour $FULLSAVE"
getfacl -R --absolute-names $FULLSAVE > $Filesave1
echo "Opération terrminée : " `date` " pour $FULLSAVE"
i=$(($i+1))
done
echo "ctrl+c pour sortire"
sleep 3600
#Pour la restauration
# setfacl --restore=$Filesave1
#====================FIN======================