« Discussion Trucs:Sauvegarder les ACL » : différence entre les versions

De Lea Linux
Aller à la navigation Aller à la recherche
 
Ligne 1 : Ligne 1 :
== Sauvgarder les droits [ chmod ] ==
== Sauvgarder les droits [ chmod ] ==


Cette astuces permet de remédier à une erreur furture, d'un chmod -R 0777 a titre d'exemple.
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: ==
== Voici le code: ==

Dernière version du 13 août 2007 à 14:27

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======================