« Discussion Trucs:Sauvegarder les ACL » : différence entre les versions
		
		
		
		Aller à la navigation
		Aller à la recherche
		
| m (Sauvgarder les droits [ chmod ]) | |||
| (Une version intermédiaire par un autre utilisateur non affichée) | |||
| Ligne 1 : | Ligne 1 : | ||
| == Sauvgarder les droits [ chmod ] == | == 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: == | == Voici le code: == | ||
| #Les repertoire a scanner ( ou directement la racine / ) ! | <code multi> | ||
| ScanRep=(/etc /usr /boot /lib /opt /sbin /root /srv /var /initrd /proc /selinux /home /bin /dev /sys /vmlinuz /initrd.img /tmp) |  #!/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 |  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) |    #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" |    Filesave1="$HOME/Desktop${ScanRep["$i"]}.acl.sav1" | ||
| FULLSAVE=${ScanRep["$i"]} |    FULLSAVE=${ScanRep["$i"]} | ||
| echo "Demarrage : " `date` " pour $FULLSAVE" |    echo "Demarrage : " `date` " pour $FULLSAVE" | ||
| getfacl -R  --absolute-names $FULLSAVE  > $Filesave1 |    getfacl -R  --absolute-names $FULLSAVE  > $Filesave1 | ||
| echo "Opération terrminée : " `date` " pour $FULLSAVE" |    echo "Opération terrminée : " `date` " pour $FULLSAVE" | ||
| i=$(($i+1)) |    i=$(($i+1)) | ||
| done |  done | ||
| echo "ctrl+c pour sortire" |  echo "ctrl+c pour sortire" | ||
| sleep 3600 |  sleep 3600 | ||
| #Pour la restauration |  #Pour la restauration | ||
| # setfacl --restore=$Filesave1 |  # setfacl --restore=$Filesave1 | ||
| #====================FIN====================== |  #====================FIN======================</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======================