Comment modifier les droits d’un fichier Linux avec chmod (exemples pratiques)
Sur Linux, chaque fichier et dossier possède des droits d’accès qui déterminent qui peut le lire, l’écrire ou l’exécuter. La commande chmod (change mode) est l’outil essentiel pour modifier ces permissions. Ce tutoriel vous explique son fonctionnement avec des exemples concrets, en insistant sur les bonnes pratiques et les pièges à éviter.
Comprendre les permissions Linux
Les permissions sont divisées en trois groupes : le propriétaire (user), le groupe (group) et les autres (others). Chaque groupe peut avoir trois droits :
- r (read) : lire le contenu du fichier.
- w (write) : modifier le fichier.
- x (execute) : exécuter le fichier (pour un script ou un programme).
Ces droits sont représentés de deux manières : en mode symbolique (lettres) ou numérique (chiffres). Nous allons voir les deux.
Utiliser chmod en mode numérique
Le mode numérique utilise une valeur sur 3 chiffres (ou 4 si vous incluez les attributs spéciaux). Chaque chiffre est la somme des droits : r=4, w=2, x=1. Par exemple, 7 = rwx (4+2+1), 6 = rw-, 5 = r-x, etc.
La syntaxe de base :
chmod 755 mon_fichier
Dans cet exemple, le propriétaire a tous les droits (7), le groupe et les autres ont lecture et exécution (5). C’est un réglage courant pour un script exécutable.
Autres exemples :
chmod 644 fichier.txt: propriétaire peut lire/écrire, les autres seulement lire.chmod 700 script.sh: seul le propriétaire peut lire, écrire, exécuter.chmod 777 dossier: tout le monde a tous les droits (à éviter, voir plus bas).
Utiliser chmod en mode symbolique
Le mode symbolique utilise des lettres pour désigner les groupes : u (user), g (group), o (others), a (all). On ajoute (+) ou enlève (-) des droits, ou on affecte (=).
Exemples :
chmod u+x script.sh # ajoute l'exécution pour le propriétaire
chmod go-w fichier # enlève l'écriture pour le groupe et les autres
chmod a=r dossier # tout le monde peut seulement lire
Le mode symbolique est plus intuitif pour des modifications ponctuelles.
Appliquer les droits récursivement
Pour modifier les permissions d’un dossier et de tout son contenu, utilisez l’option -R :
chmod -R 755 mon_dossier
Prudence : cette commande peut avoir des effets indésirables si elle est mal utilisée, notamment sur les fichiers système. Assurez-vous de cibler le bon dossier.
Pièges à éviter : le fameux 777
➡️ Mettre à jour Ubuntu avec apt : les commandes à connaître
➡️ Installer Ubuntu depuis une clé USB : le guide simple
➡️ Ubuntu ou Linux Mint : lequel choisir quand on débute ?
➡️ Changer le propriétaire d’un fichier avec chown sous Linux
Beaucoup d’utilisateurs débutants appliquent chmod 777 pour résoudre un problème de permissions. C’est une très mauvaise pratique car cela donne à n’importe qui (même aux utilisateurs malveillants) le droit d’écrire et d’exécuter vos fichiers. Préférez des droits plus restrictifs.
Si vous avez besoin de partager un fichier en écriture avec un groupe, créez un groupe dédié et utilisez chmod 775 ou chmod 770 selon les besoins.
Précautions importantes
- Droits administrateur : pour modifier les permissions de fichiers système, utilisez
sudo:sudo chmod 755 /etc/fichier. - Sauvegarde : avant de modifier les droits en masse, faites une sauvegarde ou notez les permissions d’origine avec
ls -l. - Ne changez pas les droits sur les répertoires système : cela peut rendre votre système instable.
- Attention au dual boot : si vous partagez une partition avec Windows, les permissions Linux peuvent ne pas s’appliquer correctement ; utilisez les options de montage adaptées (umask).
Conseils d’utilisation contextualisée
Pour un script personnel que vous seul exécutez, chmod 700 est suffisant. Pour un fichier de configuration partagé avec un groupe, utilisez chmod 640 (lecture pour le groupe, rien pour les autres). Sur un serveur web, les fichiers doivent être en 644 et les dossiers en 755 pour des raisons de sécurité. N’oubliez pas que la commande chown permet aussi de changer le propriétaire et le groupe, ce qui est souvent complémentaire.
Questions fréquentes
Q : Quelle est la différence entre chmod 777 et chmod 755 ?R : Le 777 donne tous les droits à tout le monde, alors que le 755 donne l’écriture seulement au propriétaire. Le 777 est risqué car n’importe qui peut supprimer ou modifier le fichier.
Q : Comment voir les permissions actuelles d’un fichier ?
R : Utilisez la commande
ls -l pour lister les permissions sous forme de chaîne (ex : -rwxr-xr-x).
Ingénieur informaticien indépendant depuis plus de vingt ans, Philippe Banquet est spécialisé dans l’administration Linux/Unix, le scripting et le développement en C, Perl et shell. Auteur technique et formateur, il privilégie une approche terrain, claire et pédagogique pour expliquer les systèmes, les réseaux et les environnements professionnels.









Commentaires
Laisser un commentaire