Question Comment définir chmod pour un dossier et tous ses sous-dossiers et fichiers? [fermé]


Y a-t-il un moyen de définir chmod 755 pour /opt/lampp/htdocs et tout son contenu, y compris les sous-dossiers et les fichiers?

Aussi, à l'avenir, si je crée un nouveau dossier ou fichier à l'intérieur htdocs, comment les permissions peuvent-elles être automatiquement réglées sur 755?

Cela fonctionne, mais seulement pour ce dossier:

chmod 775 /opt/lampp/htdocs

1295
2017-09-18 02:31


origine


Réponses:


Les autres réponses sont correctes, en ce que chmod -R 755 définira ceci comme des permissions pour tous les fichiers et dossiers de l'arbre. Mais pourquoi diable voudriez-vous? Cela peut avoir un sens pour les répertoires, mais pourquoi définir le bit d'exécution sur tous les fichiers?

Je soupçonne que ce que vous voulez vraiment faire est de mettre les répertoires à 755 et soit laisser les fichiers seuls ou les mettre en 644. Pour cela, vous pouvez utiliser le find commander. Par exemple:

Pour changer tous les répertoires à 755 (drwxr-xr-x):

find /opt/lampp/htdocs -type d -exec chmod 755 {} \;

Pour remplacer tous les fichiers par 644 (-rw-r--r--):

find /opt/lampp/htdocs -type f -exec chmod 644 {} \;

2257
2017-07-16 20:42



Vérifiez l'option -R

chmod -R <permissionsettings> <dirname>

À l'avenir, vous pouvez gagner beaucoup de temps en vérifiant d'abord la page de manuel:

man <command name>

Donc dans ce cas:

man chmod

636
2017-09-18 02:36



Si vous souhaitez définir des autorisations sur tous les fichiers a+r, et tous les répertoires à a+x, et faites cela récursivement à travers l'arborescence complète des sous-répertoires, utilisez:

chmod -R a+rX *

le X (c'est capital X, pas petit x!) est ignoré pour les fichiers (à moins qu'ils ne soient déjà exécutables pour quelqu'un) mais est utilisé pour les répertoires.


287
2018-01-31 20:39



Vous pouvez utiliser -R avec chmod pour la traversée récursive de tous les fichiers et sous-dossiers.

Vous pourriez avoir besoin de sudo car cela dépend de LAMPE en cours d'installation par l'utilisateur actuel ou un autre:

sudo chmod 755 -R /opt/lampp/htdocs

103
2018-04-19 15:43



Pour définir tous les sous-dossiers (récursivement), utilisez -R

chmod 755 /folder -R

Et utilisez umask pour définir la valeur par défaut pour les nouveaux dossiers / fichiers     cd / dossier     umask 755


65
2017-09-18 02:35



chmod 755 -R /opt/lampp/htdocs va récursivement définir les autorisations. Il n'y a aucun moyen de définir automatiquement les autorisations pour les fichiers dans ce répertoire uniquement après avoir défini les autorisations, mais vous pouvez modifier les autorisations de fichier par défaut à l'échelle du système avec le paramètre umask 022.


46
2017-09-18 02:38



La commande récursive correcte est:

sudo chmod 755 -R /opt/lampp/htdocs

-R: changez tous les sous-dossiers, y compris le dossier actuel


41
2017-09-18 02:40



Vous pourriez vouloir considérer cette réponse donnée par nik sur superutilisateur et utilisez "one chmod" pour tous les fichiers / dossiers comme ceci:

chmod 755 $(find /path/to/base/dir -type d)
chmod 644 $(find /path/to/base/dir -type f)

22
2018-02-27 06:42



Utilisation:

sudo chmod 755 -R /whatever/your/directory/is

Cependant, soyez prudent avec cela. Cela peut vraiment vous faire du mal si vous changez les permissions des mauvais fichiers / dossiers.


19
2017-09-18 02:37