Exécutez Chmod séparément pour les fichiers et les répertoires
Si vous êtes un utilisateur Linux, vous avez probablement entendu parler de l'application console chmod. C'est un outil utile qui permet de modifier les autorisations du système de fichiers à l'aide d'une session de terminal ou d'un émulateur de terminal. Lorsque vous l'exécutez, il modifie simultanément les autorisations que vous spécifiez sur les fichiers et les répertoires. Mais vous devrez peut-être modifier les autorisations de fichier séparément des autorisations de répertoire et vice versa. Voici comment cela peut être fait.
Il y a plusieurs façons de le faire, mais ma façon préférée et la plus fiable de le faire est de combiner chmod avec xrags et trouve outils. La commande suivante modifiera les autorisations pour les fichiers uniquement.
trouver /chemin/vers/emplacement -type f -print0|xargs -0 chmod 644
Ici le trouve La commande répertorie tous les fichiers dans l'emplacement spécifié. Le commutateur -type f lui dit de lister uniquement les fichiers et d'exclure les répertoires. Le commutateur -print0 permet de traiter les noms de fichiers de manière à ce que les noms de fichiers ou de répertoires contenant des espaces ou des nouvelles lignes soient correctement gérés.
Une commande appropriée similaire peut également être utilisée pour les répertoires. La seule partie que vous devez changer est -type f en -type d :
find /chemin/vers/emplacement -type d -print0 |xargs -0 chmod 755
Astuce: vous pouvez gagner du temps et taper moins en utilisant cette astuce.
- Tout d'abord, appliquez les autorisations du système de fichiers aux fichiers et aux dossiers en exécutant chmod en mode récursif :
chmod -R 644 /chemin/vers/emplacement
Il appliquera les autorisations rw-r-r à tous les fichiers et dossiers de l'emplacement spécifié.
- Ensuite, exécutez la commande pour les répertoires uniquement :
find /chemin/vers/emplacement -type d -print0 |xargs -0 chmod 755
C'est ça.