web-dev-qa-db-fra.com

Linux - Comment récursivement chmoder un dossier?

Comment puis-je récursivement chmod tout dans un dossier?

par exemple. J'ai un dossier appelé var qui contient de nombreux sous-dossiers et fichiers.

Comment appliquer chmod 755 de manière récursive à ce dossier et à tout son contenu?

23
Black

Veuillez vous référer au manuel (man chmod):

-R, --recursive
change files and directories recursively

chmod -R 755 /path/to/directory effectuerait ce que vous voulez.

Cependant…

  1. Vous ne voulez généralement pas 755 all fichiers ; ceux-ci devraient être 644, car ils n'ont souvent pas besoin d'être exécutables. Par conséquent, vous pouvez utiliser find /path/to/directory -type d -exec chmod 755 {} \; pour modifier uniquement les autorisations de répertoire. Utilisez -type f et chmod 644 pour appliquer les autorisations aux fichiers.

  2. Cela écrasera toutes les autorisations existantes. Ce n'est pas une bonne idée de le faire pour /var - ce dossier dispose déjà des autorisations appropriées configurées par le système. Par exemple, certains répertoires dans /var requièrent des autorisations 775 (par exemple, /var/log).

Donc, avant de faire Sudo chmod - en particulier sur les dossiers système - faites une pause et demandez-vous si cela est vraiment nécessaire.

43
slhck