Publié le : 13/08/2022
Linux : comment définir les permissions des dossiers en 755 et des fichiers en 644 récursivement
A l’heure actuelle, la sécurité deviens de plus en plus primordiale. Et quand on parle de sécurité on pense immédiatement à nos fichiers et dossiers. Est-ce qu’ils sont « safe » ? Il est très important au jour d’aujourd’hui de garder les fichiers et dossiers en sécurité sur vos systèmes. Personne ne veut que quelqu’un puisse abuser de son travail acharné à cause d’erreurs stupides. Beaucoup d’autorisations de fichiers plus récentes sont définies sur le niveau de sécurité le plus bas (777
) sur des serveurs de production. Et cette pratique est utilisée afin d’éviter tout problème d’autorisation. Mais c’est une grosse erreur de procéder ainsi. Nous allons montrer les bonnes pratiques en de d’autorisations aux fichiers et dossiers. Toutefois, il est toujours conseillé de limiter au minimum les autorisations de fichiers et de répertoires. Nous recommandons de conserver les autorisations pour tous les répertoires à 755
et tous les fichiers à 644
.
Par la suite, nous allons montrer comment modifier de manière récursive les droits d’accès aux fichiers et dossiers sous Linux.
Modifier récursivement les autorisations aux dossiers et fichiers
Dans ce qui suit, nous allons mettre à jour les droits d’accès aux dossiers et fichiers qui se trouve dans un répertoire sous Linux. De plus, nous avons vu précédemment que :
- les fichiers auront une autorisation 644, c’est à dire que le propriétaire aura les droits de modification et lecture, les membres du groupe et les autres uniquement auront les droits de lecture.
- les dossiers auront une autorisation 755, c’est à dire que le propriétaire aura tous les droits (modification, lecture et d’accès), les membres du groupe et les autres auront les droits de lecture et d’accès.
Ainsi pour avoir ces droits pour tous les fichiers et dossiers d’un répertoire donné, nous n’allons pas définir les droits un à un. Nous allons le faire de manière récursive. C’est à dire que nous allons modifier les droits de tous les dossiers et de tous ces sous répertoires automatiquement. Et on fera pareil pour tous les fichiers.
Pour réaliser la manipulation, nous allons utiliser la commande chmod. Et il y a deux manières de le faire.
Pour la suite, nous supposons déjà que vous êtes dans le répertoire où vous voulez modifier les autorisations des dossiers et fichiers.
En utilisant les paramètres exec de chmod
La commande est la suivante pour tous les dossiers :
$ find . -type d -exec chmod 0755 {} \;
Et pour tous les fichiers, nous aurons la commande
$ find . -type f -exec chmod 0644 {} \;
En utilisant xargs
La commande est la suivante pour tous les dossiers :
$ find . -type d -print0 | xargs -0 chmod 755
Et pour tous les fichiers, la commande sera la suivante :
$ find . -type f -print0 | xargs -0 chmod 644
Voici un lien pour voir comment fonctionne xargs.
Modification des autorisations pour des fichiers spécifiques
Au lieu de changer les autorisation pour tous les fichiers d’un répertoire, nous pouvons, par exemple, modifier les autorisations pour un type de fichier spécifique. C’est ce que nous allons voir par la suite.
Nous allons modifier les autorisations de tous les fichiers ayant comme extension php
.
$ find . -type f -name "*.php" -exec chmod 0640 {} \;
L’autorisation 640
ci-dessus restreint l’accès aux autres personnes qui ne sont ni le propriétaire ni membre du groupe du propriétaire du fichier.