#1 Le 02/05/2021, à 21:03
- abecidofugy
Un script pour consigner les droits des fichiers et répertoires
Salut,
Je cherche à consigner les droits des fichiers et répertoires pour un site en prod car je dois appliquer un script officiel de Drupal pour corriger les erreurs de droits, et je ne voudrais pas le faire à l’aveuglette, et que ça soit réversible qui ça ne remplirait pas sa mission correctement.
Je voudrais donc que ça enregistre un fichier texte, une suite de chmod.
Exemple : le script lit qu’un fichierX.js a un chmod 755, il faudrait donc qu’une ligne soit rajouté au fichier texte :
chmod 444 config.php
chmod 755 monprécédentfichier.css
chmod 755 fichierX.js
Du coup, je n’aurais plus qu'à éditer le fichier texte résultat et rajouter l’entête bash si je voulais réappliquer les droits précédents.
Merci de votre aide, je suis une bille en bash…
PS : je ne crois pas que ça existe déjà sur le net, j’ai lancé une recherche en ce sens.
KDE neon pour le plaisir d’avoir un O/S moderne et puissant et Firefox Nightly comme navigateur. Aussi sous Windows 11 pour une partie de mon travail…
Hors ligne
#2 Le 02/05/2021, à 21:18
- pingouinux
Re : Un script pour consigner les droits des fichiers et répertoires
Bonjour,
Pour des fichiers non cachés situés dans le répertoire courant :
stat -c 'chmod %a "%n"' *
Commande à adapter pour les autres cas.
Hors ligne
#3 Le 02/05/2021, à 21:28
- MicP
Re : Un script pour consigner les droits des fichiers et répertoires
Bonjour
Le contenu du script chmodHist.sh
#!/bin/bash
# $1 est la nouvelle valeur octale des attributs qui sera appliquée au fichier
# $2 est le nom du fichier dont les attributs seront modifiés
echo "chmod $(stat --format "%a %n" "$2")" >> chemin/nomDuFichierHistorique.sh
chmod $1 "$2"
Ce qui donne :
michel@debsid:~$ stat --format "%a" .bashrc # Je visualise les attributs actuels de mon fichier .bashrc
755
michel@debsid:~$ ./chmodHist.sh 700 .bashrc # Je modifie les attributs pour 700
michel@debsid:~$ stat --format "%a" .bashrc # Pour vérifier, je visualise les attributs de mon fichier .bashrc
700
michel@debsid:~$ source chemin/nomDuFichierHistorique.sh # Je restaure les attributs du fichier
michel@debsid:~$ stat --format "%a" .bashrc # Pour vérifier, je visualise les attributs de mon fichier .bashrc
755
michel@debsid:~$
Dernière modification par MicP (Le 02/05/2021, à 21:47)
Hors ligne
#4 Le 02/05/2021, à 22:09
- Watael
Re : Un script pour consigner les droits des fichiers et répertoires
pourquoi "source" plutôt que d'exécuter ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 03/05/2021, à 06:48
- MicP
Re : Un script pour consigner les droits des fichiers et répertoires
Bonjour
C'est parce que je n'avais pas encore créé le fichier chemin/nomDuFichierHistorique.sh
ce qui fait qu'il ne pouvait pas être exécutable.
Dernière modification par MicP (Le 03/05/2021, à 08:33)
Hors ligne