X-Space

Aller au contenu | Aller au menu | Aller à la recherche

lundi, août 11 2008

Modifier les chmods à la volée.

Quand j'étais jeune ( comprendre il y a deux ans ), j'avais tendance à ne pas me casser les pieds au niveau des chmods et faire

chmod -R 777 mondossier

C'est pas propre, pas logique ( un fichier ne doit pas pouvoir être exécuter, potentiellement dangereux etc... Ayant vieilli, et commençant la migration du serveur actuel vers le nouveau je suis tombé sur un problème de chmod incohérent et j'ai donc du reconstruire le tout. Plutôt que de faire ça à la main ou en mode récursif ( -R ), j'ai développé un petit script pour faire les choses proprement : (télécharger)

Utilisation

./chmodalavolee.sh mondossier

Grossièrement le script fait :

Pour chaque fichier dans mondossier : chmod 644 (lecture pour tous et seulement écriture pour le propriétaire).

Pour chaque dossier : chmod 755 (lecture et exécution - obligatoire pour rentrer dans un dossier - pour tous, écriture en plus pour le propriétaire). Exécuter le script dans ce dossier.

Seul problème ce script ne donne pas les droits d'exécution sur le fichier. Ce qui peut être problématique si on fait un 777 sur un dossier contenant des exécutables.

Un collègue, qui a fait cette erreur malencontreuse, m'a donc posé la question : y a il des fichiers exécutables dans /var ?

Ma réponse est dans le fichier var-executable-files que j'ai généré avec le script search-executable.sh.