Comment changer les permissions d’un fichier linux à l’aide de la ligne de commande

Un serveur privé virtuel Linux (VPS) vous permet d’ajouter plusieurs utilisateurs pour simplifier la gestion collaborative du système. 

Toutefois, les utilisateurs qui disposent d’un accès complet peuvent modifier des fichiers et des dossiers essentiels qui affectent le fonctionnement du système. Vous devez gérer correctement les autorisations de fichiers pour éviter les risques liés à la sécurité du serveur.

Pour modifier les autorisations, les systèmes Linux fournissent la commande chmod. Elle vous permet d’affiner les privilèges des utilisateurs afin d’améliorer la sécurité de votre VPS

Dans ce tutoriel, nous expliquerons comment modifier les permissions et les propriétaires sous Linux à l’aide de l’utilitaire de ligne de commande. Vous apprendrez également les avantages de la modification des privilèges des utilisateurs, les meilleures pratiques et les problèmes courants.

Un bref aperçu de la modification des permissions et de la propriété des fichiers sous Linux :

Connaissances requisesCompétences de base en ligne de commande Linux, compréhension des permissions de fichiers
Privilèges requisAccès à la racine ou privilèges sudo pour certaines opérations
DifficultéIntermédiaire
Objectif principalUtilisation des commandes chmod et chown, compréhension des permissions de fichiers

Pourquoi changer les permissions et les propriétaires sous Linux ?

Dans cette section, nous examinerons plusieurs avantages liés à la modification des autorisations et de la propriété des fichiers et des répertoires sous Linux.

Renforcer la sécurité

La modification de la propriété et des autorisations des fichiers empêche les utilisateurs non autorisés de modifier des fichiers susceptibles d’affecter la sécurité. Par exemple, ils pourraient apporter des modifications dangereuses aux clés SSH ou à la configuration du pare-feu.

Permettre aux utilisateurs de bas niveau d’accéder aux fichiers des comptes à autorisation élevée peut également entraîner des failles de sécurité. Ils peuvent trouver les informations d’identification du superutilisateur ou de l’utilisateur principal pour prendre le contrôle de l’ensemble du système.  

En outre, la gestion des autorisations permet d’éviter les suppressions accidentelles du système de fichiers qui peuvent compromettre le fonctionnement de votre serveur. 

Contrôle de l’accès

La limitation des autorisations vous permet d’affiner le contrôle d’accès aux fichiers sous Linux. Outre la prévention des erreurs de gestion, elle simplifie l’audit, car elle permet de suivre rapidement les activités des utilisateurs et de déterminer la source des actions non autorisées.

En outre, la modification des permissions et de la propriété sous Linux permet d’améliorer l’isolement. Les membres de l’équipe ne peuvent travailler et partager que des fichiers spécifiques tout en sécurisant les autres. 

Maintenir la confidentialité des données

Dans les environnements multi-utilisateurs, la gestion des autorisations de fichiers garantit la confidentialité des données et le respect de la vie privée entre les comptes. Permettre à tous les utilisateurs d’accéder aux informations des autres peut entraîner un risque élevé de menaces internes telles que des fuites de données. 

Le changement de propriétaire permet de limiter l’exposition des données aux utilisateurs non autorisés. Par exemple, confiez à l’équipe produit la propriété exclusive des données relatives aux clients afin de protéger les informations sensibles.

Respecter les exigences réglementaires et de conformité

La modification des autorisations et de la propriété des fichiers dans les systèmes Linux vous permet de protéger les données personnelles des utilisateurs, en particulier si vous gérez un service Internet. Il est essentiel d’adhérer à diverses lois sur la confidentialité des données, comme le règlement général européen sur la protection des données (RGPD). 

D’autres réglementations, comme la norme de sécurité des données de l’industrie des cartes de paiement (PCI-DSS), imposent également la responsabilité des utilisateurs. L’octroi d’autorisations à des utilisateurs spécifiques vous permet de vérifier leur responsabilité dans le fonctionnement du service hébergé.  

Comment modifier les permissions et la propriété des fichiers sous Linux

Cette section explique les niveaux de propriété et d’autorisation des fichiers sous Linux et comment les attribuer à l’aide de commandes Linux

Avant de poursuivre, connectez-vous à votre serveur à l’aide d’un client SSH tel que PuTTY ou Terminal. 

Conseil de pro

Si vous rencontrez des problèmes de réseau lorsque vous vous connectez à votre VPS via SSH, utilisez la fonction du terminal de navigateur d’Hostinger. Elle vous permet d’exécuter des commandes sur votre serveur lorsque le port SSH est fermé.

1. Comprendre les niveaux de permission des fichiers

Les systèmes Linux disposent de trois niveaux d’autorisation pour les fichiers et les répertoires : lecture, écriture et exécution. Voici leurs explications :

  • read (r) – permet aux utilisateurs de visualiser le contenu d’un fichier ou d’un répertoire.
  • write (w) – permet aux utilisateurs de modifier le contenu d’un fichier. Pour les répertoires, ils peuvent créer, supprimer et déplacer des fichiers dans le dossier. 
  • execute (x) – permet aux utilisateurs d’exécuter un fichier en tant que script ou programme. L’octroi de droits d’exécution sur les dossiers leur permet de changer de répertoire de travail et d’accéder à ses informations étendues.

Linux dispose également de trois classes d’utilisateurs auxquelles vous pouvez attribuer des autorisations :

  • propriétaire (owner) – compte individuel possédant le fichier.
  • groupe (group) – ensemble d’utilisateurs ayant le même rôle.
  • autres (others) – tous les utilisateurs du système qui ne sont ni propriétaires ni membres d’un groupe.

Pour vérifier les groupes d’utilisateurs Linux, ouvrez le fichier group dans le répertoire /etc à l’aide d’un éditeur de texte comme Nano

Liste des groupes et de leurs membres dans le fichier de configuration group de Linux

L’interface de ligne de commande de Linux affiche les autorisations de fichiers Unix sous la forme d’une chaîne de caractères, comme dans l’exemple suivant :

-rwxrwxrwx

La chaîne commence par un indicateur de type de fichier. Un trait d’union (-) désigne un fichier normal, tandis que d représente un répertoire. Les chaînes de trois caractères représentent les autorisations pour le propriétaire, le groupe et les autres, respectivement. 

Si une classe d’utilisateurs ne dispose pas d’une autorisation spécifique, un trait d’union remplacera le caractère correspondant. Prenons l’exemple suivant :

-rwxrw-r--

La chaîne signifie que le propriétaire dispose de toutes les autorisations, tandis que les membres du groupe peuvent lire et écrire le fichier. Comme les autres n’ont que des droits r, ils peuvent lire le fichier, mais pas l’écrire ni l’exécuter. 

2. Afficher les permissions actuelles

Pour vérifier les autorisations des fichiers et des sous-dossiers, accédez au répertoire souhaité à l’aide de la commande cd. Ensuite, exécutez la commande ls avec l’option -l :

ls -l

Terminal affichera tout le contenu du dossier avec diverses informations, y compris les permissions. Voici un exemple de sortie :

drwxrwxrwx 2 user1 admins 4096 Sep 12 04:33 config

Voici la répartition de la syntaxe et l’explication de chaque colonne :

  • drwxrwxrwx – les permissions du dossier ou du fichier.
  • 2 – le nombre de liens en dur ou d’alias pour le fichier ou le dossier.
  • User1 – le propriétaire du fichier.
  • admins – le groupe associé au fichier.  
  • 4096 – la taille du fichier ou du dossier en octets.
  • Sep 12 04:33 – la dernière date de modification du fichier ou du dossier.
  • config – le nom du fichier ou du dossier. 

3. Modifier les permissions de fichiers avec la commande chmod

Pour modifier les permissions d’un fichier sous Linux, il faut utiliser la commande change mode ou chmod. Voici la syntaxe de base :

chmod [option] [mode] [nom_fichier_dossier]

Les options sont des paramètres permettant de modifier le comportement de la commande. Consultez la page de manuel de chmod pour en voir la liste complète. Les options les plus couramment utilisées sont les suivantes :

  • -R – modifie les autorisations des fichiers de manière récursive.
  • -f – supprime les messages d’erreur.
  • -v – affiche des informations sur l’exécution de la commande.
  • –help – affiche le manuel de chmod.

Le paramètre mode définit les nouvelles autorisations pour le fichier ou le dossier. Utilisez le mode symbolique ou le mode octal – ils fonctionnent de manière similaire et donnent le même résultat.

En plus des permissions, la notation symbolique chmod utilise un seul caractère indiquant la classe d’utilisateur et l’opération. En voici la liste :

SymboleDéfinition
uPropriétaire 
gGroupe 
oAutres
aToutes les classes d’utilisateurs (propriétaire, groupe et autres)
+Ajouter des permissions
Supprimer les permissions
=Fixer les permissions aux valeurs spécifiées

Vous pouvez modifier simultanément les permissions de plusieurs classes d’utilisateurs en énumérant les modes séparés par des virgules. Prenons l’exemple suivant :

chmod u+wx,g-x,o=r script.sh

La commande chmod accorde au propriétaire du fichier script.sh les droits d’écriture et d’exécution. Elle supprime également l’autorisation du groupe exécutable et met le fichier en lecture seule pour les autres utilisateurs.

Conseil de pro

Si vous omettez l’utilisateur lorsque vous utilisez le mode symbolique, la commande chmod définira les permissions pour tous les utilisateurs.

Également connue sous le nom de mode absolu, la notation octale chmod utilise les nombres suivants pour déterminer les autorisations souhaitées par l’utilisateur :

Nombre Définition
4Permission de lecture
2Permission d’écriture
1Permission d’exécution
0Révoquer l’accès ou l’absence de permission

Additionnez les chiffres pour définir plusieurs autorisations. Par exemple, 3 rendra le fichier accessible en écriture et exécutable. Quant à 7, il accorde les autorisations de lecture, d’écriture et d’exécution. 

Contrairement à la méthode symbolique, la notation octale utilise l’emplacement des nombres pour déterminer les paramètres d’autorisation du propriétaire, du groupe et des autres. 

L’exemple suivant autorise le propriétaire et le groupe à lire, écrire et exécuter le fichier tout en révoquant l’accès des autres utilisateurs :

chmod 770 script.sh

Activez le mode récursif pour appliquer les mêmes autorisations à tous les fichiers et sous-dossiers d’un répertoire. Par exemple, cette commande accorde à tous les utilisateurs les droits d’écriture et d’exécution pour le contenu du répertoire /etc/script :

chmod -R 777 /etc/script

La commande Linux chmod est couramment utilisée pour restreindre l’accès à un fichier sensible qui affecte les fonctionnalités de votre système. Elle permet également de rendre un script exécutable, ce qui résout l’erreur bash: permission denied.

Important ! Lorsque vous modifiez les permissions d’un dossier, accordez à l’utilisateur l’accès aux répertoires parents.

4. Gérer la propriété des fichiers à l’aide de la commande chown

Par défaut, un propriétaire sous Linux est un créateur de fichier ou de répertoire. Si le propriétaire appartient à un groupe Linux, tous les autres membres hériteront des mêmes autorisations. 

Les permissions par défaut du propriétaire varient en fonction de votre distribution Linux. En général, les créateurs peuvent lire et écrire leurs fichiers, mais pas les exécuter. 

La commande chown permet de changer le propriétaire d’un fichier ou d’un dossier. Voici la syntaxe :

chown [nouveau propriétaire ou groupe] [fichier ou répertoire]

Pour les groupes, commencez leur nom par deux points ( : ) pour permettre à la commande de les distinguer d’un compte d’utilisateur. Vérifiez soigneusement les majuscules, car la commande Linux chown est sensible à la casse. L’exemple suivant définit le groupe DevOps comme propriétaire du fichier :

chown :DevOps deploy.sh

La modification de la propriété du groupe vous permet de gérer facilement les autorisations pour plusieurs utilisateurs simultanément. Au lieu d’accorder l’accès individuellement, les autorisations du groupe s’appliquent à tous ses membres. 

Vous pouvez également modifier simultanément le propriétaire et le groupe d’un fichier. Pour ce faire, ajoutez le nom d’utilisateur avant les deux points :

chown user:DevOps deploy.sh

La modification des autorisations de fichiers ou de répertoires est couramment utilisée pour améliorer l’isolement et le contrôle d’accès. En outre, elle est utile pour transférer des fichiers entre utilisateurs lors d’une migration administrative. 

Important ! Étant donné que la modification de la propriété d’un fichier nécessite les privilèges du superutilisateur Linux, utilisez sudo lors de l’exécution de la commande chown.

Meilleures pratiques pour la gestion des permissions et de la propriété sous Linux

Cette section explore les meilleures pratiques en matière de gestion des autorisations Linux afin d’améliorer l’efficacité de l’administration des serveurs. 

Utiliser Kodee, l’assistant IA d’Hostinger pour écrire des commandes de permission de fichiers

Les plans d’hébergement VPS KVM d’Hostinger offrent diverses fonctionnalités qui simplifient la gestion des accès sous Linux. Par exemple, vous pouvez utiliser Kodee, notre assistant IA, pour générer rapidement des commandes de permission de fichiers en saisissant de simples prompts.

Cette fonction permet d’économiser du temps et des efforts, car vous pouvez directement copier et coller les commandes dans votre terminal ou votre client SSH. De plus, elle permet aux débutants ayant peu de connaissances techniques de gérer facilement leurs serveurs.

Vous pouvez utiliser plusieurs prompts IA pour la gestion de votre VPS via l’assistant Kodee.

Par exemple, entrez : « Générer une commande chmod avec un mode symbolique qui donne au propriétaire du fichier deploy_script.sh toutes les permissions, au propriétaire du groupe la permission d’écriture et aux autres utilisateurs aucune permission ».

Pratiquer le principe du moindre privilège (PoLP)

En matière de sécurité informatique, le principe PoLP limite au minimum les autorisations des utilisateurs ou des groupes. Il permet de réduire la surface d’attaque potentielle et d’améliorer la sécurité du serveur.

Les utilisateurs ou les groupes n’ont que les privilèges nécessaires sur les fichiers essentiels à leur rôle. Par exemple, n’accordez des droits d’écriture que s’ils ont besoin de modifier le fichier. 

Ne donnez pas aux utilisateurs un accès excessif à des fichiers qu’ils n’utilisent pas afin d’éviter les abus et l’exploitation. Enregistrez toutes les activités liées aux autorisations d’accès afin de simplifier les audits de sécurité en cas de violation. 

Utiliser la commande find pour des changements de permissions avancés

La commande Linux find vous permet de rechercher des fichiers dans un répertoire en fonction de critères spécifiques, y compris leurs autorisations. 

Par exemple, exécutez la commande suivante pour trouver un fichier que le propriétaire peut lire et écrire :

find /path/to/search -type f -perm -o=rw

Le paramètre -type indique si la commande recherche des fichiers ou des répertoires. Vous pouvez utiliser le mode symbolique ou absolu et spécifier plusieurs filtres de permission comme suit :

find /path/to/search -type f -perm -u+w,g+w
find /path/to/search -type f -perm /220

Le premier exemple utilise un trait d’union () pour rechercher des fichiers avec des autorisations d’écriture pour le propriétaire et les membres du groupe. Dans le deuxième exemple, nous utilisons une barre oblique (/) pour rechercher un fichier dont l’autorisation d’écriture est attribuée au propriétaire ou au groupe.

Pour modifier automatiquement les autorisations et la propriété, ajoutez les commandes correspondantes avec le paramètre -exec :

find /path/to/search -type f -perm -o+w -exec chmod o-w {} \;
find /path/to/search -type d -perm -u+w -exec chown newowner:newgroup {} \;

Utilisez la première commande pour supprimer les droits d’écriture des fichiers concernés. Le deuxième exemple, quant à lui, modifie le propriétaire du dossier en lui accordant des droits d’écriture.

Définir les autorisations par défaut pour les nouveaux fichiers et répertoires

Sous Linux, les permissions par défaut sont de 666 pour les fichiers et de 777 pour les répertoires. La commande umask vous permet de modifier ces paramètres en soustrayant la valeur octale par défaut à un nombre personnalisé.

Par exemple, la valeur de l’umask de la plupart des distributions Linux est 022. Soustrayez la valeur par défaut du nombre. Dans ce cas, les nouveaux fichiers et répertoires auront les permissions 644 et 755

Vous pouvez utiliser n’importe quelle valeur de démasquage. Par exemple, exécutez la commande suivante pour définir 554 comme autorisation par défaut pour un nouveau répertoire :

umask 223

Pour vérifier la valeur actuelle de l’umask en mode numérique, exécutez la commande sans aucun paramètre supplémentaire. Vous pouvez également ajouter l’option -S pour obtenir la valeur en notation symbolique. 

Utiliser les caractères génériques pour les modifications en masse

Utilisez des caractères génériques pour modifier les autorisations et la propriété de plusieurs fichiers à l’intérieur d’un dossier en fonction de leur nom.

Attention ! Soyez prudent lorsque vous utilisez des caractères génériques pour définir différentes autorisations. Vous risquez de modifier accidentellement des fichiers ou des dossiers importants, comme le répertoire personnel.

Le point d’interrogation (?) représente un seul caractère. Par exemple, exécutez la commande suivante pour modifier les autorisations de FileA.txt et FileB.txt dans votre répertoire actuel :

chmod 555 File?.txt

Utilisez un astérisque (*) pour remplacer zéro ou plusieurs caractères. L’exemple de commande suivant modifie la propriété de Deploy_jenkins.txt et Deploy_lavarel.txt en faveur du groupe DevOps :

chmod :DevOps Deploy_*.txt

Résolution des problèmes de permissions sous Linux

Les commandes chown et chmod sont utiles pour résoudre les problèmes d’autorisation de fichiers dans votre système. Par exemple, vous pouvez rencontrer l’erreur « Permission refusée » lors de l’exécution d’un script bash ou d’un fichier exécutable.

Cela se produit lorsque l’utilisateur actuel ne dispose pas du droit d’exécution. Pour résoudre ce problème, accordez au compte les privilèges nécessaires à l’aide de la commande sudo.

Un autre problème courant est celui des autorisations inadéquates, qui entravent la productivité car les utilisateurs ne peuvent pas accéder aux fichiers et aux répertoires essentiels pour leurs tâches. Cela peut également entraîner des erreurs dans les scripts d’automatisation, qui nécessitent des autorisations d’exécution pour fonctionner correctement. 

Au lieu de rechercher et de modifier manuellement les autorisations du fichier, utilisez la commande find pour simplifier la tâche. Utilisez également les caractères génériques et le mode récursif pour accélérer le processus.

Conclusion

La définition des autorisations sous Linux vous permet d’affiner le contrôle d’accès au système afin d’améliorer la sécurité du serveur privé virtuel (SPV) et d’éviter les modifications non autorisées. Il permet également de préserver la confidentialité des données des utilisateurs afin de se conformer aux réglementations en vigueur. 

Sous Linux, les fichiers et les répertoires disposent de trois autorisations : lecture, écriture et exécution. Il existe également trois classes d’utilisateurs : le propriétaire du fichier, un groupe d’utilisateurs et autres, qui désignent les utilisateurs qui ne sont ni propriétaires ni membres d’un groupe. 

La commande ls -l permet de vérifier les permissions et la propriété des fichiers dans un répertoire. Pour les modifier, utilisez chmod et écrivez les nouvelles règles en mode symbolique ou numérique. Entre-temps, exécutez l’utilitaire chown en tant que superutilisateur pour transférer la propriété du fichier à un autre compte ou groupe. 

Combinez la commande find avec chown et chmod pour vous aider à résoudre les problèmes de permission de votre système, comme les privilèges incorrects ou les erreurs d’accès refusé. Pour améliorer l’efficacité, utilisez Kodee, l’assistant IA d’Hostinger, pour générer les commandes à l’aide d’invites simples.

Author
L'auteur

Chaimaa Chakir

Chaimaa est une spécialiste du référencement et du marketing de contenu chez Hostinger. Elle est passionnée par le marketing digital et la technologie. Elle espère aider les gens à résoudre leurs problèmes et à réussir en ligne. Chaimaa est une cinéphile qui adore les chats et l'analyse des films.