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
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.
đŸ“– Afficher son adresse IP sous Linux : la commande ip a, hostname -I et l'Ă©quivalent de ipconfig
đŸ“– Activer le Wi-Fi sur Ubuntu en ligne de commande
đŸ“– Installer Linux Mint sur un vieux PC Windows : le guide complet
đŸ“– Ubuntu ou Linux Mint : lequel choisir quand on dĂ©bute ?
đŸ“– CrĂ©er un dossier sous Linux avec mkdir : tutoriel simple
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