Qu’est-ce que chmod ? (2022)

Le programme en ligne de commandes chmod, forme courte de «change mode», a été introduit au début des années 1970 avec la première version d’AT&T Unix. Dans les systèmes d’exploitation multi-utilisateurs de type Unix, il sert à attribuer les droits d’accès dans les systèmes de fichiers qui prennent en charge les autorisations Linux classiques. En général, cela vaut pour les serveurs qui fonctionnent sur tous les systèmes standards de fichiers dans les systèmes Linux dérivés d’Unix. Pour modifier les attributs d’un fichier via le chmod, vous devez soit être le propriétaire du fichier, soit disposer des droits root.

La majorité des serveurs Web utilisent des distributions du système d’exploitation unixoïde Linus telles que Ubuntu. Tous les dérivés d’Unix ont en commun le fait que des droits d’accès spécifiques sont attribués à des fichiers ainsi qu’à des répertoires. Il est possible de les changer grâce à chmod, un programme en ligne de commandes, qui peut être activé dans le terminal via la commande du même nom.

Sommaire

  1. Comment utiliser chmod?
    1. Mode symbolique
    2. Mode octal
  2. Options de la commande chmod
  3. Application de chmod démontrée par un exemple
    1. Exemple chmod : ajouter de nouveaux droits
    2. Exemple chmod : la révocation des droits

Comment utiliser chmod?

Ce système de droits de fichiers sous Unix se base sur des catégories d’utilisateurs ainsi que sur des droits de base affectés de manière individuelle. Chmod prend en charge deux modes différents: une notation symbolique, qui utilise des lettres, et une autre basée sur des nombres en octal. Comme déjà indiqué, seul le propriétaire du fichier ou l’utilisateur root (de l’anglais racine) peut changer ces droits d’accès via la commande chmod. La commande dans la ligne correspond à la syntaxe suivante:

$ chmod options mode file

La commande chmod est suivie de l’élément facultatif «options». C’est grâce à lui que d’autres options de la commande chmod sont définies. L’élément «mode» représente un attribut qui est appliqué sur le «file» suivant, soit un fichier ou un dossier. Ce masque définit les permissions: il permet de savoir si une catégorie d’utilisateurs peut recevoir de nouveaux droits d’accès ou si leurs droits qui leur ont déjà été attribués leur sont retirés.

Quels sont les modes chmod disponibles?

D’après le système de fichiers sous Unix, tous les fichiers ont des droits d’accès individuels sur un serveur Linux. Cela vaut aussi pour les répertoires. Cette règle du droit d’accès s’effectue toujours sur les trois catégories suivantes d’utilisateurs:

Propriétaire (user)

Habituellement, un utilisateur qui crée un fichier dans un système de fichiers Unix est automatiquement défini en tant que «user» du fichier. La propriété peut être changée par la suite par la commande «chown».

Groupe (group)

La catégorie d'utilisateurs «group» combine différents comptes d'utilisateurs sur le serveur. Dans les systèmes de fichiers unixoïdes, chaque compte d'utilisateur est automatiquement affecté à un groupe principal, mais il est également possible d'appartenir à d'autres groupes. L'affectation de groupes de fichiers peut être configurée à la fois par le propriétaire et l'utilisateur root via la commande «chgrp».

Autres utilisateurs (others)

La classe d'utilisateurs «others» comprend tous les utilisateurs qui ne sont ni propriétaires du fichier ni membres d'un groupe ayant des droits d'accès.

Comme nous l’avons déjà mentionné, il existe deux modes différents de réglage des droits: le mode symbolique et le mode octal, dont les principales caractéristiques seront brièvement résumées dans les sections suivantes.

Mode symbolique

En mode symbolique, des lettres sont attribuées auxdifférentes catégories d’utilisateurs et aux différents droits d’accès. En combinant ces lettres, il est ainsi facile de préciser quels droits doivent être ajoutés ou supprimés. Le tableau suivant résume les lettres de balisage pour les utilisateurs et les droits dans le cadre de la notation symbolique:

Lettres pour les droits d‘accès

Signification

r

Droit de lecture ; aussi indiqué R-Bit

w

Droit d‘écriture ; aussi indiqué W-Bit

x

Droit d‘exécution ; aussi indiqué X-Bit

Lettres pour les catégories d‘utilisateurs

Signification

u

Catégorie d‘utilisateur «user», propriétaire

g

Catégorie d‘utilisateur «group», groupe

o

Catégorie d‘utilisateur «others», autres utilisateurs

(Video) Linux - 07 - Droits et permissions

a

«all»: la commande concerne toutes les catégories d’utilisateurs.

Si le masque de droits est créé selon la notation symbolique, les opérateurs suivants sont utilisés pour relier les catégories d'utilisateurs respectives aux droits des fichiers :

+

L'opérateur «+» est utilisé pour attribuer de nouveaux droits de fichier à une catégorie d'utilisateurs. Seuls les droits des fichiers concernés sont écrasés.

-

L'opérateur «- » supprime un droit de fichier d'une catégorie d'utilisateurs.

=

Si les droits sur les fichiers doivent être définis pour une catégorie d'utilisateurs indépendamment de ses droits antérieurs, l'opérateur «=» est utilisé.

Si, par exemple, un fichier «exemple.txt» qui vient d'être introduit doit être modifié de manière à ce que non seulement le propriétaire (user) mais aussi tous les autres utilisateurs (group, others) aient la permission de lire et d'écrire, la commande chmod ressemblerait à ceci :

$ chmod ugo+rw exemple.txt

Une autre possibilité serait de faire référence à toutes les catégories d'utilisateurs :

$ chmod a+rw exemple.txt

Lorsqu'il est appelé dans le terminal, le fichier «exemple.txt» affiche désormais l’autorisation de droits suivante au lieu des droits d'accès originaux :

Droits d’accès avant la modification

Commande chmod exécutée

Droits d’accès après la modification

-rw-------

a+rw

-rw-rw-rw-

user: lire, écrire

group: pas de droits

other: pas de droits

a = tous

+ = ajouter des droits d’accès

r = lire

w = écrire

user: lire, écrire

group: lire, écrire

other: lire, écrire

Mode octal

La notation symbolique est descriptive, mais elle est difficile à manier lorsqu'elle est utilisée fréquemment. De nombreux administrateurs utilisent donc la notation octale lors de l'attribution des droits d'accès. Il s'agit d'une séquence de trois chiffres, chaque chiffre représentant une catégorie d'utilisateur du serveur. La notation octale est basée sur la séquence standard :

Position des chiffres selon la catégorie d’utilisateurs

Signification

1

Correspond à la catégorie d’utilisateurs «propriétaire» (user)

2

(Video) Comment changer les permissions avec chmod - Ep. #4

Correspond à la catégorie d’utilisateurs «groupe» (group)

3

Correspond à la catégorie d’utilisateurs «autres» (others)

Les droits d'accès attribués aux différentes catégories d'utilisateurs sont déterminés par la valeur de chaque chiffre. Elle est calculée à partir de la somme des valeurs individuelles attribuées aux droits respectifs :

Valeur droits d’accès

Signification

4

Lire

2

Ecrire

1

Exécuter

Aucun droit

En fonction de cette affectation, les combinaisons de valeurs suivantes pour les droits d'accès sont obtenues :

La notation octale est également mieux illustrée par un exemple. En supposant que le propriétaire du fichier d'exemple «exemple.txt» ait également l'intention d'accorder des droits de lectureau groupe «groupeexemple», le code octal suivant serait utilisé :

$ chmod 640 exemple.txt

Avec la valeur 6 à la première position du masque de droits, le propriétaire conserve les droits d'accès maximum : 4 (lecture) + 2 (écriture). La deuxième valeur du masque de droits spécifie les droits d'accès du groupe : 4 (lire). Aucun droit n'est prévu pour les autres utilisateurs, qui sont marqués en troisième position, qui est donc codée avec un 0.

Options de la commande chmod

Qu'il choisisse la notation symbolique ou numérique, l'utilisateur dispose de plusieurs options pour l'attribution des droits d'accès. Ils sont insérés dans la ligne de commande entre le masque de commande et le masque de droits.

Code

Option

Signification

-R

(Video) Linux #12 - Les droits sur les fichiers : chmod chown chgrp

recursive

La modification des droits d’accès s’applique à tous les fichiers et sous-répertoires d’un dossier.

-v

verbose

Suite à la ligne de commande, un diagnostic est émis pour tous les fichiers traités.

-c

changes

Suite à la ligne de commande, un diagnostic est émis par tous les fichiers qui ont changé.

-f

silent

Les messages d’erreur sont supprimés.

L'exemple suivant montre une ligne de commande où la modification des droits d'accès se réfère de manière récurrente aux sous-répertoires et aux fichiers du dossier :

$ chmod -R 744 dossierexemple

La règle suivante s'applique à tous les fichiers et sous-dossiers du répertoire «dossierexemple» : le propriétaire obtient des droits d'accès complets (7), les membres du groupe et les autres utilisateurs ont un accès en lecture seule (4).

Application de chmod démontrée par un exemple

Enfin, l'utilisation du chmod sera à nouveau clarifiée à l'aide d'un exemple concret.

Toutefois, la démonstration commencera par une inspection générale des droits actuellement attribués. Cela fonctionne dans les systèmes Linux/Unix au moyen de la commande «ls», après quoi le contenu du répertoire appelé est affiché. Si le paramètre «-l» est ajouté, les différents fichiers sont affichés sous forme de liste clairement organisée :

ls -l

Une sortie possible pour cette commande, qui est choisie comme exemple dans ce cas, pourrait ressembler à ce qui suit :

insgesamt 3-rwx------ 1 det det 0 2020-02-02 10:41 Fichier1.txt-rw-rw-r-- 1 det det 0 2020-02-02 10:41 Fichier2.txtdrwxr-xr-x 2 det det 4096 2020-02-02 10:44 Répertoire

Ainsi, deux fichiers («Fichier1.txt» et «Fichier2.txt») et un répertoire («Répertoire») peuvent être trouvés sous le chemin recherché. Chaque entrée individuelle commence par un bloc dedix caractères, ce qui est particulièrement intéressant dans ce cas car il fournit des informations sur les droits d'accès aux fichiers ou au répertoire :

Le caractère indique en premier lieu ce qu'il est exactement. Dans le cas d'un dossier simple, le signe moins y apparaît, comme dans les deux premiers postes. Un «d» (pour directory soit «répertoire» en français) indique les annuaires, dans le cas des liens, il y aurait un «l» (pour lien).

Elle est suivie des trois blocs décisifs - chacun de trois caractères - qui informent sur les droits d'accès actuels. Ici, l'ordre déjà connu de la notation octale s'applique : le bloc 1 représente le propriétaire, le bloc 2 la catégorie d'utilisateurs «groupe», le bloc 3 tous les autres utilisateurs. Même à l'intérieur des différents blocs, l'ordre est toujours le même :

  • le premier chiffre indique si l'accès en lecture (r) est disponible,
  • le chiffre 2 donne des informations sur l'accès en écriture (w)
  • et le troisième caractère d'un bloc de trois indique si la catégorie d'utilisateurs respective a également les droits d'exécution (x).

Si la lettre est fixée, les droits correspondants sont accordés. Sinon, il y a un signe moins à la position respective. Pour les deux fichiers et le répertoire, cela signifie ce qui suit :

Fichier1.txt

Propriétaire

Groupe

Autre utilisateur

Lire

x

x

Ecrire

x

x

Exécuter

x

x

Fichier2.txt

Propriétaire

Groupe

Autre utilisateur

(Video) Les permissions sur fichiers et répertoires - #Linux 1.7

Lire

Ecrire

x

Exécuter

x

x

x

Répertoire

Propriétaire

Groupe

Autre utilisateur

Lire

Ecrire

x

x

Exécuter

Exemple chmod : ajouter de nouveaux droits

Dans un premier exemple d'application pour le chmod, les droits de lecture et d'exécution pour le fichier1.txt, qui étaient jusqu'à présent réservés au propriétaire, doivent maintenant être activés pour toutes les catégories d'utilisateurs. La commande chmod appropriée (notation symbolique) est la suivante :

chmod a+rx Fichier1.txt

Toutes les catégories d'utilisateurs (a) se voient attribuer de nouveaux droits (+) pour le document Fichier1.txt, à savoir le droit de lire (r) et d'exécuter (x) ce fichier.

Si vous regardez la liste des droits cédés, l'entrée pour File1.txt ressemble à ceci

-rwxr-xr-x 1 det det 0 2020-02-02 10:41 Datei1.txt

Exemple chmod : la révocation des droits

Dans le deuxième exemple de démonstration, l'accès en écriture au Fichier2.txt pour tous les utilisateurs, c'est-à-dire également pour le propriétaire et pour la catégorie d'utilisateurs «groupe», doit être retiré via chmod. L'entrée correspondante (à nouveau en notation symbolique) ressemble à ce qui suit :

chmod a-w Fichier2.txt

Dans cet exemple de chmod, la commande fait également référence à toutes les catégories d'utilisateurs (a). La permission d'écriture (w) pour le Fichier2.txt est retirée (-) à tous les utilisateurs. La nouvelle entrée pour le dossier ressemblera à ceci par la suite :

-r--r--r-- 1 det det 0 2020-02-02 10:41 Fichier2.txt
  • Know-how
  • FTP
  • Linux
  • Protection des Données
Articles similaires

Que révèle le système d’exploitation open source Linux ?

  • Know-how

On affirme beaucoup de choses sur Linux : son système serait plus sûr que celui de Windows mais aussi bien plus compliqué. Jusqu’à maintenant, ce système open source est très peu présent sur les ordinateurs personnels. En revanche, il est très répandu pour l’exploitation de serveurs. Que révèle-t-il et à qui profite l’installation d’un système d’exploitation Linux ?

Linux vs. Windows : comparaison des deux solutions d’hébergement

  • Know-how

Le duel Linux vs. Windows dans l’utilisation d’ordinateurs personnels locaux est inéquitable, étant donné la popularité des appareils Microsoft. Pour le reste, cela dépend du type d’utilisation des serveurs de chacun. Pour cet aspect, Linux se place depuis ses débuts comme la solution la plus appréciée devant Windows. Mais les utilisateurs peuvent aujourd’hui se demander à juste titre quelles sont...

(Video) How To Change File Permissions (CHMOD)

FAQs

C'est quoi chmod Linux ? ›

chmod (abréviation de change mode) est un appel système d'Unix (norme POSIX) ainsi que la commande correspondante qui permet de changer les permissions d'accès d'un fichier ou d'un répertoire.

Quel est le rôle de la commande chmod ? ›

La commande chmod permet de configurer l'accès aux fichiers et aux répertoires. Pour une liste exhaustive des options et des fonctionnalités, consultez le manuel de la commande (man chmod).

Comment utilise chmod ? ›

Voici comment utiliser chmod avec les permissions en texte. Le première groupe de paramètres définit à quelle catégorie vous appliquez les permissions. Le deuxième ensemble d'options définit l'action, si vous ajoutez ou supprimez des permissions. Supprime les autorisations de fichier à partir d'un utilisateur spécifié.

Comment donner tout les droit à un fichier Linux ? ›

Sous Nautilus (Ubuntu), faites un clic droit sur un fichier ou répertoire puis choisissez propriétés. Rendez-vous dans l'onglet permissions. Pour le Propriétaire et le Groupe, vous pouvez choisir dans le menu déroulant correspondant de donner les droits en lecture et écriture ou lecture seule.

Comment faire un chmod ? ›

Un autre exemple : chmod 777 fichier2. txt. Cette commande donne TOUTES les permissions pour TOUT type d'utilisateur (propriétaire, groupe et autre ).
...
Chaque type d'autorisation a son propre numéro :
  1. R (lire) – 4.
  2. W (écrire) – 2.
  3. X (exécuter) – 1.
Mar 16, 2022

C'est quoi chmod 777 ? ›

La commande CHMOD vous permet de définir les droits d'accès à votre utilisateur, à votre groupe ainsi qu'à tous les utilisateurs. En tant qu'hébergeur de sites, Wistee a décidé d'interdir l'utilisation du CHMOD 777 afin de protéger vos sites Internet.

Comment modifier les permissions ? ›

Lorsqu'on parle de changer des permissions, en général il s'agit de faire un "chmod 777", "chmod 666" ou autre.
...
Donc trois chiffres dont:
  1. le premier correspond aux droits du propriétaire.
  2. le deuxième correspond aux droits du groupe.
  3. le troisième chiffre correspond aux droits des autres utilisateurs.

Comment changer les permissions sur Linux ? ›

La commande chmod permet de modifier les droits et permissions. On utilise cette dernière en indiquant l'utilisateur (u, g, o ou a), les actions "+, -, =" et le droit concerné "r, w, x". On pourra éventuellement utiliser la notation décimale.

Comment créer un dossier sous Linux ? ›

Tapez la commande mkdir suivie immédiatement du nom du répertoire à créer et le tour est joué. Comme vous êtes dans votre répertoire personnel pas de soucis de droits d'accès à la création du répertoire.

Comment donner les droits sur un fichier ? ›

(Plesk pour Windows) Pour modifier les droits d'un fichier ou d'un répertoire : Allez dans Sites Web & Domaines > nom du domaine > Gestionnaire de fichiers. Cliquez sur la ligne qui correspond au fichier ou au répertoire duquel vous voulez modifier les droits. Ensuite, cliquez sur Modifier les droits.

Quelle sont les droits d'accès d'un fichier ? ›

Les droits d'accès aux fichiers permettent de protéger les fichiers et les répertoires contre toute opération de lecture ou d'écriture non autorisée. Dans la plupart des cas, d'autres utilisateurs pourront lire vos fichiers, mais ne pourront pas les modifier.

Quelle commande permet de modifier le propriétaire d'un fichier ? ›

La commande chown modifie le groupe du fichier et le lien symbolique n'est pas modifié. Pour changer le propriétaire d'un lien symbolique, il faut utiliser l'option -h. Cette fois, c'est bien le groupe du lien symbolique qui est modifié.

Quelle Le rôle des permissions accordé à un compte ? ›

Il est le seul à disposer d'un accès complet au compte et à pouvoir notamment supprimer des applications, créer et modifier l'ensemble des utilisateurs du compte et modifier tous les paramètres financiers et de compte.

Quel est la commande qui vous donne le nom du répertoire courant ? ›

Pour afficher le répertoire courant, il faut utiliser pwd (voir plus bas). Pour "remonter" d'un répertoire (aller à son parent) on utilise la commande cd ..

Quels sont les droits sur les répertoires personnels linux ? ›

Les différents droits disponibles sont les suivants : Lecture (noté r comme read). Écriture (noté w comme write). Exécution (noté x comme eXecution).

Quelle commande permet de lister les fichiers ainsi que les droits affectés ? ›

Affichage des droits (ls)

Pour afficher à l'écran les droits alloués à un fichier, il faut utiliser la commande ls -l qui permet de lister les fichiers d'un répertoire avec toutes les informations connexes possibles dont les droits du fichier.

Comment supprimer un dossier sur Linux ? ›

En cliquant sur « Mettre à la corbeille » dans le menu contextuel, vous pouvez supprimer un répertoire sous Linux. Tapez la commande « rm –r » (abréviation de « remove ») puis le nom du répertoire à supprimer : vous venez de supprimer le répertoire et tout son contenu.

Quelle commande permet de modifier le propriétaire d'un fichier ? ›

La commande chown modifie le groupe du fichier et le lien symbolique n'est pas modifié. Pour changer le propriétaire d'un lien symbolique, il faut utiliser l'option -h. Cette fois, c'est bien le groupe du lien symbolique qui est modifié.

Comment utiliser la commande chown ? ›

Pour changer le propriétaire d'un répertoire et de tout ce qu'il contient de manière récursive, il faut ajouter l'option –R à la commande chown. Exemple 1 : On a un fichier appelé « doc1. txt » dont le propriétaire actuel est Admin et on souhaite que l'utilisateur appelé Neoflow devienne le propriétaire de ce fichier.

Comment donner les droit pour modifier un fichier ? ›

Allez dans Sites Web & Domaines > nom du domaine > Gestionnaire de fichiers. Cliquez sur la ligne qui correspond au fichier ou au répertoire duquel vous voulez modifier les droits. Ensuite, cliquez sur Modifier les droits.

Comment rendre un fichier exécutable Linux ? ›

Il faut aller dans Menu→ Édition → Préférences → Onglet comportement → fichier texte et exécutable et cocher pour fichiers exécutables Demander à chaque fois.

Videos

1. what is umask? (intermediate) anthony explains #346
(anthonywritescode)
2. Linux File Permissions -rwtrwxrws
(SysAdmGirl)
3. Mise en oeuvre du setgid sur un répertoire
(Bruno GUEGAN)
4. Chown This! Linux File Permissions for WordPress Site Owners
(Wordfence)
5. what is a shebang (#!)? (beginner - intermediate) anthony explains #033
(anthonywritescode)
6. Qu'est-ce que le shell Linux et Unix ?
(YvesRougyFR)

Top Articles

Latest Posts

Article information

Author: Cheryll Lueilwitz

Last Updated: 01/09/2023

Views: 5930

Rating: 4.3 / 5 (54 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Cheryll Lueilwitz

Birthday: 1997-12-23

Address: 4653 O'Kon Hill, Lake Juanstad, AR 65469

Phone: +494124489301

Job: Marketing Representative

Hobby: Reading, Ice skating, Foraging, BASE jumping, Hiking, Skateboarding, Kayaking

Introduction: My name is Cheryll Lueilwitz, I am a sparkling, clean, super, lucky, joyous, outstanding, lucky person who loves writing and wants to share my knowledge and understanding with you.