Et oui le CTRL+Z ne permet pas d'annuler un chmod un peu trop violent dans un répertoire, ou pire à la racine d'un serveur GNU/Linux.
Et on ne va pas jeter la pierre : qui n'a jamais fait d'erreur avec la commande chmod ? Soit par manque de compréhension, soit par étourderie : chmod / 700 -R
Il existe une solution pour pouvoir restaurer les permissions, qu'il va falloir mettre en place AVANT de rencontrer le problème.
La solution : les ACLs
Christophe Casalegno détaille ici une solution peu connue qui permet de sauvegarder les ACLs.
Une fois positionné dans le dossier pour lequel vous souhaitez sauvegarder les permissions :
getfacl -R / > /tmp/backup.acl
puis de les restaurer :
setfacl --restore=/tmp/backup.acl
Cette méthode présente 2 avantages de taille :
- l'opération se fait à chaud sans arrêt de la machine
- on ne touche pas aux données de la machine (contrairement à une restauration)
Astuce avec vos sauvegardes
Si vous n'avez pas mis en place de script de sauvegarde de ces permissions vous pouvez aussi :
- restaurer votre VM sans connecter le réseau
- puis se connecter en console via l'hyperviseur (VMware, Nutanix, Proxmox, etc)
- lancer la commande d'export des permissions
- récupérer le fichier et l'injecter dans la VM de production.
3 astuces pour éviter les boulettes
Astuce 1 : l'ordre des arguments
Je vous conseille toujours de mettre les arguments dans cet ordre :
chmod 700 /var -R
Avec l'option de récursivité à la fin de la commande (en fin de ligne). C'est la dernière chose que vous voyez avant d'envoyer la commande avec ENTREE, vous vous forcez ainsi à relire pour être sûr de ne pas faire une bêtise (cette option est dangereuse, votre cerveau doit tiquer).
Astuce 2 : évitez le mode octal (xxx)
Je trouve le mode octal un peu violent et je lui préfère le mode alphanumérique qui va ajouter (+) ou retirer des droits (-) au lieu de les définir de façon autoritaire (cela reste possible avec =)
chmod -R a+rx blogmotion
La commande donne à tous les utilisateurs les droits en lecture et en exécution à tout ce que contient le dossier "blogmotion".
Astuce 3 : se relire AVANT d'envoyer la commande
Enfin : relisez toujours 2 fois les commandes importantes telles que chmod ou chown avant d'appuyer sur ENTREE.
Conclusion
Et voilà qui conclut ce post!
Il est vrai que les droits sont une partie importante de la compréhension des systèmes de fichiers, qu'il s'agisse de Windows ou de GNU/Linux.
Montez une VM pour pratiquer sur vous n'êtes pas à l'aise, cela vous évitera bien des problèmes avec votre production 🙂
Auteur : Mr Xhark
Fondateur du blog et passionné par les nouvelles techno, suivez-moi sur twitter
Le premier commentaire c'est pour vous 👇