Master MMCC
Chapitre 1: Droits sous Linux
24/10/2024 Pr. [Link] 1
Introdcution
Les permissions constituent un système simple de définition des droits d'accès aux fichiers.
Elles restent le moyen le plus utilisé pour définir les droits des utilisateurs.
Quelques notions:
•Utilisateur Propriétaire (noté u comme user) :Utilisateur qui est en possession du
fichier
•Groupe Propriétaire (noté g comme group):Groupe d'utilisateurs qui est en possession
du fichier
•Autres Utilisateurs (noté o comme other):Utilisateurs qui ne sont ni propriétaire du
fichier, ni faisant partie du groupe propriétaire.
•Tous (noté a comme all):Utilisateur propriétaire + Groupe propriétaire + Autres
utilisateurs.
24/10/2024 Pr. [Link] 2
Fonctionnement des permissions
Les différents droits disponibles sont les suivants :
•Lecture : noté r comme read
•Ecriture: noté w comme write
•Exécution: noté x comme execution
Ces droits ont deux sens différents s'ils sont appliqués à des fichiers ou des dossiers.
24/10/2024 Pr. [Link]
3
Fonctionnement des permissions
Pour les fichiers:
• Lecture (noté r) : on peut par exemple lire le fichier avec un logiciel.
• Écriture (noté w) : on peut modifier le fichier et le vider de son contenu.
• Exécution (noté x) : on peut exécuter le fichier s'il est prévu pour, c'est-à-dire si
c'est un fichier exécutable (script, programme).
24/10/2024 Pr. [Link]
4
Fonctionnement des permissions
Pour les dossiers:
• Lecture (noté r) : il autorise l'affichage du contenu du répertoire (la liste des
fichiers présents à la racine de ce répertoire).
• Écriture (noté w) : il autorise la création, la suppression et le changement de nom
des fichiers qu'il contient, quels que soient les droits d'accès des fichiers de ce
répertoire (même s'ils ne possèdent pas eux-mêmes le droit en écriture).
• Exécution (noté x) : il autorise l'accès (le traverser) au répertoire.
24/10/2024 Pr. [Link]
5
Fonctionnement des permissions
On appelle parfois r, w et x des flags. Sur un fichier donné, ils doivent être définis pour son
propriétaire, son groupe, mais aussi les autres utilisateurs (différents du propriétaire et
n'appartenant pas au groupe).
Seuls root et le propriétaire d'un fichier peuvent changer ses permissions d'accès.
24/10/2024 Pr. [Link]
6
Fonctionnement des permissions
Les droits sont représentés par une suite de caractères:
• Les trois premiers sont les permissions de l’utilisateur
• Les trois suivants sont les permissions du groupe
• Les trois derniers sont les permissions des autres utilisateurs
Ici, le propriétaire peut lire, écrire et
exécuter le fichier, mais les utilisateurs du
groupe attribué au fichier ne peuvent que le
lire et l’exécuter et enfin que les autres
utilisateurs que lire le fichier.
24/10/2024 Pr. [Link]
7
Fonctionnement des permissions
Ici, Une autre manière de représenter ces droits est sous forme binaire, où:
• r = 4 si actif ou 0 si inactif
• w = 2 si actif ou 0 si inactif
• x = 1 si actif ou 0 si inactif
Pour: rwxr-xr—
Ainsi, rwx « vaut » 7 (4+2+1), r-x « vaut » 5 (4+1) et r-- « vaut » 4. Les droits complets
(rwxr-xr--) sont donc équivalent à 754.
24/10/2024 Pr. [Link]
8
Fonctionnement des permissions
Compléter le tableau ci-dessous:
24/10/2024 Pr. [Link]
9
Fonctionnement des permissions
On peut afficher les droits attribués avec la commande ls-l:
ls –l
-rw-r--r-- 1 adriencl users 8 1 janv. 12:56 fichier
Ici, on a donc plus d'informations.
La sortie signifie que le fichier fichier (de taille 8) appartient à adriencl, qu'on lui a attribué
le groupe users, et que les droits sont rw-r--r--.
On remarque qu'il y a en fait 10 caractères sur la zone de droits. Le premier - n'est pas un
droit, c'est un caractère réservé pour indiquer le type de fichier. Il peut prendre les valeurs
suivantes :
24/10/2024 Pr. [Link]
10
Fonctionnement des permissions
Seul root et le propriétaire d’un fichier peuvent changer ses permissions d’accès.
Pour cela, on peut utiliser la commande chmod, cette commande fonctionne de plusieurs
façons.
24/10/2024 Pr. [Link]
11
Fonctionnement des permissions
Définir les droits:
Si on veut attribuer les droits rwx------ (Qui signifierait : seul l'utilisateur à tous les droits
sur le fichier, et pas les autres) on peut utiliser la commande avec les valeurs octales
chmod 700 fichier
Voilà ce que cela donne si on lance:
ls-l fichier
-rwx------ 1 adriencl users 8 1 janv. 12:56 fichier
24/10/2024 Pr. [Link]
12
Fonctionnement des permissions
Ajouter ou ôter des droits:
On utilise toujours la commande chmod mais avec les attributs u, g, o, a pour « qui » et r w
x pour « quoi » et le symbole + ou – pour ajouter ou ôter des droits.
Pour ajouter le droit de lecture à tout le monde sur mon fichier :
chmod a+r fichier
Pour ajouter le droit de modification au groupe :
chmod g+w fichier
Pour retirer le droit de lecture aux autres :
chmod o-r fichier
24/10/2024 Pr. [Link]
13
Fonctionnement des permissions
On peut aussi combiner les opérations
Ajouter le droit de lecture écriture au groupe et aux autres
chmod go+rw fichier
On peut combiner deux opérations différentes en séparant par une virgule, pour par
exemple, ajouter le droit x au groupe et retirer le droit w aux autres :
chmod g+x , o-w fichier
24/10/2024 Pr. [Link]
14
Fonctionnement des permissions
Changer les utilisateurs et les groupes sur les fichiers:
Pour changer le propriétaire d’un fichier, on utilise la commande chown
chown adrien fichier
chown a la capacité de changer le possesseur (utilisateur) et le groupe :
chown adrien:users fichier
Pour changer le groupe uniquement, c'est la commande chgrp :
chgrp users fichier
24/10/2024 Pr. [Link]
15
Fonctionnement des permissions
La commande Umask:
Umask définit le masque de création des fichiers, c’est-à-dire les permissions attribuées à un
fichier ou un répertoire lors de sa création. Mais c’est aussi une commande Linux qui est
utilisée pour attribuer les ensembles d’autorisation de fichier par défaut pour les dossiers et
fichiers nouvellement créés.
Lorsque vous utilisez le terme umask, nous faisons référence à l’une des deux significations
suivantes :
• Le masque en mode de création de fichiers utilisateur qui est utilisé pour configurer
les autorisations par défaut pour les fichiers et répertoires nouvellement créés
• La commande «umask» qui est utilisée pour définir la valeur umask
24/10/2024 Pr. [Link]
16
Fonctionnement des permissions
On peut afficher la valeur umask actuelle, nous utilisons la commande umask. L’exécution de la
commande umask en elle-même fournit les autorisations par défaut qui sont attribuées
lorsqu’un fichier ou un dossier est créé.
umask ou umask –S ( pour afficher les valeurs de permissions umask pour les utilisateurs, groupes et autres)
Pour changer la valeur de umask, on peut utiliser la commande avec la valeur voulue:
umask « valeur » ou umask u=rwx, g=rwx,o=rw
24/10/2024 Pr. [Link]
17
Fonctionnement des permissions
On peut afficher la valeur umask actuelle, nous utilisons la commande umask. L’exécution de la
commande umask en elle-même fournit les autorisations par défaut qui sont attribuées
lorsqu’un fichier ou un dossier est créé.
umask ou umask –S ( pour afficher les valeurs de permissions umask pour les utilisateurs, groupes et autres)
Pour changer la valeur de umask (temporairement), on peut utiliser la commande avec la
valeur voulue:
umask « valeur » ou umask u=rwx, g=rwx,o=rw
Si on veut garder la nouvelle valeur de umask après redémarrage du système, il faut changer la
valeur de umask dans le fichier /etc/profile.
24/10/2024 Pr. [Link]
18
Fonctionnement des permissions
Exemple:
Pour calculer les bits d’autorisation pour un nouveau fichier ou un nouveau répertoire, nous
soustrayons simplement la valeur umask de la valeur par défaut, comme ceci :
• 666 – 022 = 644 — pour les fichiers
• 777 – 022 = 755 — pour les répertoires
24/10/2024 Pr. [Link]
19