web-dev-qa-db-fra.com

Comment rendre tous les fichiers d'un répertoire mondial lisible sur linux?

Je veux rendre tous les fichiers (et répertoires) sous un certain répertoire lisible sans avoir à chmod chaque fichier tout seul. ce serait bien s'il y avait une option pour le faire aussi récursivement (regardez sous les dossiers et chmod 666 tous les fichiers en dessous)

23
Rorchackh

man 3 chmod contient les informations que vous recherchez.

chmod -R +r directory

l'option -R indique à chmod d'opérer de manière récursive.

29
user529758

Comme un répertoire peut contenir des liens et/ou des montages de liens, l'utilisation de find pourrait assurer une granularité optimale dans ce qu'il faut faire et ne pas faire ....

find directory \( -type f -o -type d \) -print0 |
    xargs -0 chmod ugo+r

Pour exclure des chemins sous les points de montage:

find directory -mount \( -type f -o -type d \) -print0 |
    xargs -0 chmod ugo+r

Pour exclure certains fichiers spécifiques (.htaccess par exemple): 

find directory \( -type f -o -type d \) ! -name '.htaccess' -print0 |
    xargs -0 chmod ugo+r
9
F. Hauri
1
0x90