Droits Acces

Télécharger au format docx, pdf ou txt
Télécharger au format docx, pdf ou txt
Vous êtes sur la page 1sur 38

1.

1 Introduction☘

Les systèmes de type "UNIX" sont des systèmes multi-utilisateurs, plusieurs utilisateurs
peuvent donc partager un même ordinateur, chaque utilisateur possédant un environnement de
travail qui lui est propre.

 Chaque utilisateur possède certains droits lui permettant d'effectuer certaines


opérations et lui en interdisant d'autres.
Le système d'exploitation permet de gérer ces droits.
Un utilisateur un peu particulier possède tous les droits : ce "super utilisateur" est
appelé root.
 C'est l'utilisateur root qui pourra attribuer ou retirer certains droits aux autres
utilisateurs.
 Au lieu de gérer les utilisateurs un par un, il est possible de créer des groupes
d'utilisateurs. L'administrateur attribue des droits à un groupe au lieu d'attribuer
des droits particuliers à chaque utilisateur.

Comme nous venons de le voir, chaque utilisateur possède des droits qui lui ont été octroyés
par le "super utilisateur". Nous nous intéresserons ici uniquement aux droits liés aux fichiers,
mais vous devez savoir qu'il existe d'autres droits liés aux autres éléments du système
d'exploitation (imprimante, installation de logiciels...).

La notion d'utilisateur
Toute personne physique ayant besoin d'interagir avec un système sous Linux devra
s'identifier. L'utilisateur authentifié sera reconnu par un nom unique et un ID
unique (numéro d'identifiant).

Les informations sur les utilisateurs sont stockées dans le fichier /etc/passwd.

Le nombre d'utilisateurs que l'on peut définir est en théorie illimité.

Tout système Linux possède un unique super-utilisateur appelé « root », avec des
super-pouvoirs.

Par défaut, cet utilisateur est créé à l'installation, mais il n'est pas actif. Une procédure
particulière permet de l'activer.

Vous l'aurez compris, seul « root », qui est l'administrateur du système, peut avoir accès
au fichier /etc/passwd, pour créer des utilisateurs, leur donner des droits et
permissions, et bien d'autres choses.
FondamentalQuestion : qui suis-je ?

Lorsque l'on est sur un terminal Linux, à tout moment, la console indique avec quel nom
et type d'utilisateur on est connecté, ceci grâce à l'invite de commande encore
appelée prompt :

(l'invite de commande est la suite de caractère présente en début de chaque ligne ;

elle indique que le système est en attente d'une instruction)

Forme du prompt :

Ce qu'il faut retenir :

 Si le prompt se termine par $ vous êtes connecté en tant qu'utilisateur normal.


 Si le prompt se termine par # vous êtes connecté en tant que super-utilisateur
(administrateur).

Les autres informations présentes dans l'invite de commande sont le nom de


l'utilisateur (avant le @), le nom de la machine (nsi) et le nom du répertoire
courant (éventuellement avec son chemin d'accès).

Forme du prompt pour une connexion en tant que super-utilisateur :

RemarqueForme particulière du prompt :

Rappelons que la tilde ~ désigne le répertoire personnel de l'utilisateur ; dans le cas de


l'utilisateur Tom, on peut donc avoir le prompt équivalent suivant :
Attention

Il est déconseillé d'activer le compte root. Les super-pouvoirs (comme pour les super-
héros) peuvent être dangereux quand on ne sait pas les maîtriser. On peut détruire tout
le fonctionnement de la machine avec une simple commande d'effacement par exemple.

DéfinitionLa commande su

La commande "su" (switch user) permet de prendre l'identité d'un autre utilisateur (son
mot de passe vous est demandé).

En particulier su (non suivie d'un identifiant) vous fait passer en utilisateur root.

Exemple

CTRL+C pour copier, CTRL+V pour coller

su leo
2

su

Pour quitter une session root, tapez exit+↵ Entrée ou Ctrl+D

DéfinitionLa commande sudo

La commande sudo (abréviation de "substitute user do", "super user do" ou "switch user
do", en français : « se substituer à l'utilisateur pour faire », « faire en tant que super-
utilisateur » ou « changer d'utilisateur pour faire ») vous permet de prendre
temporairement les droits de super-utilisateur pour exécuter une commande.

Seuls certains utilisateurs appelés sudoers ont le droit d'exécuter la commande sudo.

La commande sera exécutée si le mot de passe entré est correct et que l'utilisateur
courant peut effectuer des tâches d'administration.
Sudo sert par exemple à exécuter, en mode super-utilisateur, des commandes ou des
applications en console. Il faut faire précéder chacune des commandes à exécuter en
mode super-utilisateur par la commande sudo, de la manière suivante :

CTRL+C pour copier, CTRL+V pour coller

sudo <commande>
MéthodeGérer les utilisateurs

Les utilisateurs sont stockés dans le fichier /etc/passwd.

CTRL+C pour copier, CTRL+V pour coller

cat /etc/passwd

L'utilisateur root peut facilement ajouter un utilisateur à l'aide de la commande


interactive adduser :

CTRL+C pour copier, CTRL+V pour coller

adduser <utilisateur>

Pour définir un mot de passe pour un utilisateur :

CTRL+C pour copier, CTRL+V pour coller

passwd <utilisateur>

Pour supprimer un utilisateur :

CTRL+C pour copier, CTRL+V pour coller

userdel -r <utilisateur>

L'option -r permet de supprimer le répertoire de l'utilisateur ainsi que son fichier de mails
en attente.

Pour ajouter un utilisateur à un groupe existant (sans conserver les anciens groupes
auxquels appartient l'utilisateur) :

CTRL+C pour copier, CTRL+V pour coller

usermod -G groupe1,groupe2,groupeN user

Pour ajouter un utilisateur à un groupe existant (en conservant les groupes actuels
auxquels appartient l'utilisateur) :
CTRL+C pour copier, CTRL+V pour coller

usermod -aG groupe1,groupe2,groupeN user

Pour vérifier que l'utilisateur appartient bien à ce groupe :

CTRL+C pour copier, CTRL+V pour coller

groups user
MéthodeGérer les groupes

Les groupes sont disponibles dans le fichier /etc/group. Il est possible de connaître les
groupes d'un utilisateur à l'aide de l'une des commandes groups, id ou :

CTRL+C pour copier, CTRL+V pour coller

cat /etc/group

Pour créer un groupe :

CTRL+C pour copier, CTRL+V pour coller

groupadd <groupe>

Ajouter un utilisateur au groupe :

CTRL+C pour copier, CTRL+V pour coller

gpasswd -a <utilisateur> <groupe>

Il est possible de rajouter plusieurs groupes à un utilisateur :

CTRL+C pour copier, CTRL+V pour coller

usermod -aG groupe1,groupe2 <utilisateur>

Pour effacer un groupe :

CTRL+C pour copier, CTRL+V pour coller

groupdel <groupe>

Enlever un utilisateur d'un groupe:

CTRL+C pour copier, CTRL+V pour coller


1

gpasswd -d <utilisateur> <groupe>

Gérer les utilisateurs sur la machine virtuelle de


la salle de TP
Veuillez compléter le document-papier distribué, ou le compte-rendu à télécharger [doc]

Commencez par vous connecter à votre machine virtuelle Linux

Méthode

Vous disposez d'une Machine Virtuelle Debian, on rappelle la procédure de


connexion :

Connexion à une Machine Virtuelle

Remarque

Repérez le prompt :

CTRL+C pour copier, CTRL+V pour coller

root@nsi:~#

 La tilde ~ indique que vous êtes dans votre dossier « home »


 # indique que vous êtes connecté en super-utilisateur

Vous pouvez constater que vous êtes connecté en tant que super-utilisateur (root) .

(c'est la connexion par défaut sur les machines virtuelles du lycée, mais ceci est
inhabituel sur les autres systèmes)

Création d'utilisateurs et de groupes d'utilisateurs


Répondre aux questions suivantes à l'aide des commandes de gestion des utilisateurs
et des groupes présentées précédemment.

Saisissez les commandes dans le terminal, et vérifiez leur bonne exécution.

Notez les commandes utilisées sur le document-réponse.

Question

Créez l'utilisateur leo (donner le mot de passe


oel) .......................................................................................

Créez l'utilisateur lea (donner le mot de passe


ael) .......................................................................................
Editez le fichier du répertoire etc qui liste les utilisateurs, pour vérifier que les utilisateurs
leo et lea ont bien été
créés : ..........................................................................................................................

Question

De même, créez l'utilisateur tom

Nous allons créer un groupe et lui affecter des utilisateurs

Question

Créez le groupe
TNSI ............................................................................................................................

Ajoutez leo au groupe TNSI, avec


l'instruction gpasswd : ....................................................................................

Ajoutez lea au groupe TNSI, avec


l'instruction usermod : ....................................................................................

Vérifiez l'appartenance de leo et lea au groupe TNSI :

l'instruction à utiliser est : grep nomdugroupe /etc/group

Changer d'utilisateur
Nous allons prendre l'identité d'un utilisateur simple (non administrateur)

Question

Changez d'utilisateur : prenez l'identité de Léa.

Rappel : l'instruction : su permet au super-utilisateur de prendre l'identité d'un autre


utilisateur

.............................................................................................

Et regardez avec pwd quel est votre répertoire


courant : ..................................................................................

Placez-vous dans votre dossier personnel (rappel : vous êtes Léa) avec cd ~

Quel est votre répertoire personnel (Léa) ?

Question

Prenez l'identité de Léo puis de root, et allez dans votre dossier personnel

Quel est le répertoire personnel de Léo : ......................................................................

Quel est le répertoire personnel de root : .......................................................................

Recopiez le prompt lorsque vous êtes


Léo : ................................................................................................
Recopiez le prompt lorsque vous êtes
root : ................................................................................................

A retenir
Fondamental

A retenir :

Que remarquez-vous au niveau du prompt ?

où se trouve-t-on lorsque l'on tape cd ~ en tant que leo ?

en tant que lea ?

en tant que root ?

Indiquez ces emplacements sur l'arborescence :

Droits et permissions de l'utilisateur


En tant qu'utilisateur root (qui a tous les droits), il nous est difficile d'observer les
restrictions d'accès que l'on peut définir sur les fichiers.

Nous allons donc nous connecter en tant qu'utilisateur simple pour aborder la partie
suivante.

Méthode

Déconnectez-vous de la machine virtuelle :

Relancez la machine virtuelle et connectez-vous en tant que lea


Démarrez le Terminal ; que constatez-vous ?

Où êtes-vous dans l'arborescence Linux ?

Vous êtes prêt à étudier les droits et les permissions.

Droits et permissions
Objectifs

Dans cette activité, on se concentrera sur la notion de droits sur un fichier ou dossier,
ainsi que sur les permissions de tel utilisateur à accéder aux fichiers ou dossiers en
question.

On verra ainsi 3 nouvelles commandes Linux :

1. chmod
2. chown
3. chgrp

 Les utilisateurs et leurs droits


 Visualisation des droits
 Changer les droits
 Changer les propriétaires
 Exercice : Synthèse Droits et Permissions
2. Les types de droits☘

2.1 Les différents droits☘

Sur un fichier ou un répertoire, un utilisateur peut possèder trois types de droits:

 Lecture : noté r comme Read.


 Écriture : noté w comme Write.
 Exécution : noté x comme eXecute.

Ces droits n'ont pas tout à fait la même signification suivant qu'ils sont appliqués à des
fichiers ou à des répertoires.

2.2 Droits pour les fichiers☘

Pour un fichier, si un utilisateur a le droit:

 lecture (noté r): il a le droit d'afficher le contenu du fichier.


 écriture (noté w): il a le droit de modifier le contenu du fichier.
 exécution (noté x) : il a le droit d'exécuter le fichier s'il s'agit d'un fichier exécutable
(script, programme).

2.3 Droit pour les dossiers☘

Pour un répertoire (ou dossier), si un utilisateur a le droit:

 lecture (noté r) : il peut lire le contenu du dossier c'est-à-dire lister les fichiers et sous-
dossiers (avec ls).
 écriture (noté w) : il peut modifier le contenu du dossier, c'est-à dire créer ou supprimer
des fichiers ou sous-dossiers.
 exécution (noté x) : il peut traverser le dossier, c'est à dire accéder aux fichiers du
répertoire et s'y déplacer (avec cd).
2.4 Les types d'utilisateur☘

Pour chaque fichier ou répertoire, les droits s'appliquent aux trois catégories d'utilisateurs
suivantes:

 L'utilisateur propriétaire : noté u comme User


 Le groupe propriétaire : noté g comme Group
 Tous les autres (ni propriétaire, ni faisant partie du groupe propriétaire) :
noté o comme Other.

3. Les droits linux☘

3.1 Visualisation des droits☘

La commande ls -l permet de lister le contenu du répertoire courant et d'afficher de


nombreuses informations sur les fichiers de ce répertoire.
Prenons un exemple :
seb@debian10:~# ls -l /home/seb/Documents/
total 4
-rw-r--r-- 1 seb prof 0 juil. 9 15:57 fichier1
-rw-r--r-- 1 seb seb 9 juil. 9 13:26 fichier2
drwxr-xr-x 2 seb seb 4096 juil. 9 18:07 unDossier

Interprétons la ligne -rw-r--r-- 1 seb prof 0 juil. 9 15:57 fichier1 :

 - : fichier ordinaire
 rw-r--r-- :
 rw-: l'utilisateur Propriétaire a les droits en lecture et écriture,
 r--: le groupe propriétaire seulement en lecture,
 r--: et les autres seulement en lecture.
 1 : nombre de liens
 seb : utilisateur propriétaire
 prof : groupe propriétaire
 0 : taille du fichier en octets
 juil. 9 15:57 : date et heure de la dernière modification
 fichier1 : nom du fichier

Remarque
Le premier caractère est:

 un - s'il sagit d'un fichier


 un d s'il s'agit d'un répertoire.

3.2 Exercice☘

Écrire l'interprétation de la ligne 3 du terminal ci-dessus, que l'on rappelle ici:

drwxr-xr-x 2 seb seb 4096 juil. 9 18:07 unDossier

Réponse

 d : Répertoire

 drwxr-xr-x : L'utilisateur Propriétaire a les droits en lecture, écriture et exécution, le groupe propriétaire
et les autres seulement en lecture et exécution
 2 : nombre de liens

 seb : utilisateur propriétaire

 seb : groupe propriétaire

 4096 : ceci ne correspond pas à la taille du répertoire mais à la taille utilisée pour décrire le répertoire

 juil. 9 18:07 : date et heure de la dernière modification

 unDossier : nom du répertoire

3.3 Différentes représentations des droits☘


3.3.1 Exemple☘

rwxr--r-- sera traduit par la valeur 400+200+100+40+4 = 744.

Types de droits
Il y a 3 catégories d'utilisateurs d'un fichier :

 l'utilisateur propriétaire du fichier ou user (u)


 Le groupe propriétaire (g)
 Les autres ou others (o)
Les « permissions » accordées à chaque utilisateur ou groupe d'utilisateurs sont de 3
types :

 La lecture : Read (r)


 L'écriture : Write (w)
 L'exécution : eXecute (x)

Les droits sont alors affichés par une série de 9 caractères :

Groupe
Propriétaire Autres
propriétaire
u o
g
r w x r w x r w x
FondamentalDroits pour un fichier

Pour un fichier, si un utilisateur a le droit:

 lecture (noté r) : il a le droit d'afficher le contenu du fichier.


 écriture (noté w) : il a le droit de modifier le contenu du fichier.
 exécution (noté x) : il a le droit d'exécuter le fichier s'il s'agit d'un fichier exécutable
(script, programme).

FondamentalDroits pour un dossier

Pour un dossier, si un utilisateur a le droit :

 lecture (noté r) : il peut lire le contenu du dossier c'est-à-dire lister les fichiers et
sous-dossiers (avec ls).
 écriture (noté w) : il peut modifier le contenu du dossier, c'est-à dire créer ou
supprimer des fichiers ou sous-dossiers.
 exécution (noté x) : il peut traverser le dossier, c'est à dire accéder aux fichiers du
répertoire et s'y déplacer (avec cd).

ComplémentÉcriture octale des droits

On peut écrire ces droits sous forme octale sur un mot binaire de 3 bits, avec x le bit de
poids le plus faible et r le bit de poids le plus fort.

Soit :

Groupe
Propriétaire Autres
propriétaire
u o
g
r w x r w x r w x
4 2 1 4 2 1 4 2 1

On peut donc obtenir l'ensemble de ces combinaisons de droits :

0 : - - - (aucun droit)
1 : - - x (exécution)
2 : - w - (écriture)
3 : - w x (écriture et exécution)
4 : r - - (lecture seule)
5 : r - x (lecture et exécution)
6 : r w - (lecture et écriture)
7 : r w x (lecture, écriture et exécution)

Ainsi, si on veut donner tous les droits, à tout le monde (rare), on pourra donner les
droits 777, ou 775 afin d'éviter que les 'autres' ne modifient les fichiers en question.

Exemple :

Le propriétaire du fichier à tous les droits sur celui-ci, les autres ne peuvent que le lire ou
l'exécuter.

Changer les droits


Fondamental

Seuls le super-utilisateur du système (généralement root) et le propriétaire d'un fichier


peuvent changer ses permissions d'accès.

Pour cela, on peut utiliser la commande chmod (abréviation de change mode).

MéthodeMéthode 1 : en utilisant l'écriture octale

 Attribuer des droits de lecture et écriture au propriétaire seul sur le fichier de nom
fichier1 :

CTRL+C pour copier, CTRL+V pour coller

cedric@desktop:~/NSI$ chmod 600 fichier1


2

cedric@desktop:~/NSI$ ls -l
3

total 12
4

drwxrwxr-x 2 cedric cedric 4096 févr. 17 16:21 Activites_Linux


5

-rw------- 1 cedric cedric 106 févr. 17 16:23 fichier1


6

-rw-r--r-- 1 cedric cedric 538 févr. 17 16:24 fichier2


7

600 correspond à 400+200 (soit à rw- --- ---).


 Attribuer tous les droits au propriétaire et aucun au groupe propriétaire et aux
autres sur /home/cedric/NSI et tout ce qu'il contient :

CTRL+C pour copier, CTRL+V pour coller

cedric@desktop:~/NSI$ chmod -R 700 /home/cedric/NSI/


2

cedric@desktop:~/NSI$ ls -l
3

total 12
4

drwx------ 2 cedric cedric 4096 févr. 17 16:21 Activites_Linux


5

-rwx------ 1 cedric cedric 106 févr. 17 16:23 fichier1


6

-rwx------ 1 cedric cedric 538 févr. 17 16:24 fichier2

L'option -R (récursif) est ce qui permet d'attribuer les droits choisis non seulement au
répertoire, mais aussi à tout son contenu.

700 correspond à 400+200+100 (soit à rwx --- ---).

On notera que la récursivité s'écrit avec -R pour éviter la confusion avec le r de read...

MéthodeMéthode 2

Il existe un autre moyen de modifier les droits d'un fichier avec la commande chmod.

Dans ce mode d'utilisation, il faut se rappeler que :

 u signifie : user (propriétaire) ;


 g signifie : group (groupe) ;
 o signifie : other (autres) ;

... et que :

 + signifie : « Ajouter le droit » ;


 - signifie : « Supprimer le droit » ;
 = signifie : « Affecter le droit ».

Ajouter le droit d'écriture au groupe sur unfichier :

CTRL+C pour copier, CTRL+V pour coller

chmod g+w unfichier

 Enlever le droit de lecture aux autres sur unfichier :

CTRL+C pour copier, CTRL+V pour coller

1
chmod o-r unfichier

 Ajouter les droits de lecture et d'exécution au propriétaire sur unfichier :

CTRL+C pour copier, CTRL+V pour coller

chmod u+rx unfichier

 Ajouter le droit d'écriture au groupe et l'enlever aux autres sur unfichier:

CTRL+C pour copier, CTRL+V pour coller

chmod g+w,o-w unfichier

 Enlever le droit de lecture au groupe et aux autres sur unfichier :

CTRL+C pour copier, CTRL+V pour coller

chmod go-r unfichier

 Ajouter le droit d'exécution à tout le monde sur unfichier:

CTRL+C pour copier, CTRL+V pour coller

chmod +x unfichier

 Affecter tous les droits au propriétaire, juste la lecture au groupe, rien aux autres
sur unfichier:

CTRL+C pour copier, CTRL+V pour coller

chmod u=rwx,g=r,o=- unfichier

Changer les propriétaires


Fondamental

Les commandes chown (change owner) et chgrp (change group) sont à exécuter en
tant que root pour changer le propriétaire ou le groupe propriétaire d'un fichier.

MéthodeChanger le propriétaire d'un fichier

Changer le propriétaire d'un fichier :

CTRL+C pour copier, CTRL+V pour coller

1
chown nouvel_utilisateur unfichier

Changer le groupe propriétaire d'un fichier :

CTRL+C pour copier, CTRL+V pour coller

chgrp nouveau_groupe unfichier

Changer le propriétaire et/ou le groupe propriétaire d'un fichier :

CTRL+C pour copier, CTRL+V pour coller

chown nouvel_utilisateur:nouveau_groupe unfichier


MéthodeChanger le propriétaire d'un dossier

Changer le propriétaire et/ou le groupe propriétaire d'un dossier et de tous les


fichiers/sous-dossiers contenus :

CTRL+C pour copier, CTRL+V pour coller

chown -R nouvel_utilisateur:nouveau_groupe undossier

-R pour la récursivité, en majuscule !

ynthèse Droits et Permissions


Pour faire les exercices, vous vous référerez aux commandes vues dans les pages
précédentes.

Les exercices sont à faire sur un document numérique (traitement de textes).

Pensez à indiquer votre nom dans le document et dans le nom de fichier.

A la fin de l'activité, votre document compte rendu doit être déposé dans l'ENT.

Exercice 1

Ci-dessous, le résultat de la commande ls -l en console :

CTRL+C pour copier, CTRL+V pour coller

seb@debian10:~/Documents ls -l
2

total 8
3

drwxr-xr-- 2 seb seb 4096 juil. 10 17:56 bidule


4
-rwxrw---x 1 seb profs 0 juil. 10 17:56 machin.sh
5

-rwxr-x--- 1 bob profs 3 juil. 10 17:57 truc


Question

1. Quelle est la session utilisateur ?


2. Quel est le nom de la machine utilisée ?
3. Quel est le répertoire courant ?
4. Combien contient-il de fichiers ? de dossiers ?
5. Pour chaque fichier ou dossier, expliquer chacune des informations affichées.
6. Donner la valeur octale des permissions sur ces fichiers / dossiers.

Exercice 2

Correspondance droits - valeurs octales

Question

A quels droits correspondent les valeurs octales suivantes : 451 ; 742 ; 254 et 650 ?

Exercice 3

Correspondance droits - valeurs octales

Question

Quels sont les droits sur un fichier et les valeurs octales correspondants à :

1. Le propriétaire peut afficher le contenu et le modifier.


2. Le groupe propriétaire peut lire le contenu.
3. Les autres peuvent exécuter le fichier.

Exercice 4

Correspondance droits - valeurs octales

Question

Quels sont les droits sur un dossier et les valeurs octales correspondants à :

1. Le propriétaire peut lister le contenu et créer / supprimer des fichiers.


2. Le groupe propriétaire lister le contenu uniquement.
3. Les autres peuvent traverser le dossier uniquement.

Exercice 5

Chercher à comprendre chaque étape, à partir de la question 1, en affichant les droits


des fichiers et répertoires. Au préalable...

 Dans votre dossier personnel NSI, créez un dossier TD_exo5 et déposez le


fichier frozen-bubble-2.2.0.zip dedans :

frozen-bubble-2_2_0.zip [zip]

 Ouvrez un terminal, placez vous dans le dossier TD_exo5.


 Dézippez le fichier précédent à l'aide de la commande :

CTRL+C pour copier, CTRL+V pour coller

unzip frozen-bubble-2_2_0.zip

 Placez vous dans le répertoire frozen-bubble-2.2.0/ et exécutez la commande :

CTRL+C pour copier, CTRL+V pour coller

bash first.sh
Question

1. Listez les fichiers et répertoires contenus dans le dossier courant.


2. Essayez d'afficher le contenu du répertoire tools. Que se passe-t-il ?
3. Essayez de vous placer dans le répertoire icons. Pouvez-vous lister son
contenu ?
4. Essayez de créer un fichier i_was_here.txt dans le répertoire server. Avez-vous
essayé de vous placer dans le dossier server?
5. Essayez d'afficher le contenu du fichier README avec la commande cat. Que se
passe-t-il ?
6. Ouvrez le fichier settings.mk avec un éditeur de texte nano en tapant nano
settings.mk et tentez de le modifier. Est-ce possible ?
7. Afficher le contenu du fichier first.sh avec la commande cat. Ce fichier est celui
qui a été exécuté au préalable : les commandes qu'il contient sont celles qui ont
supprimé des droits sur les fichiers et répertoires manipulés précédemment.
Vérifiez que cela correspond bien à ce que vous avez obtenu dans les questions
précédentes.
8. Modifier le fichier fisrt.sh afin de redonner tous les droits aux dossiers et fichiers
utilisés précédemment, l'exécuter et vérifier le résultat..

Exercice 6

Dans votre dossier personnel NSI, créez un dossier TD_exo6 puis un fichier fich1.

Question

 Observez les droits de fich1,


 Attribuez lui tous les droits pour tout le monde à l'aide de chmod et observez à
nouveau ses droits
 Créez un fichier private.txt dans TD_exo6 avec les permissions suivantes :

o Lecture et écriture seulement autorisées pour le propriétaire du fichier

o Aucun droit pour les autres.


o Ajoutez au groupe propriétaire la possibilité de lire le fichier. Puis à tous les
utilisateurs.

o Modifiez les droits d'accès de private.txt pour en empêcher la lecture,


l'écriture et l'exécution par qui que ce soit. Essayez de lire le contenu du
fichier. Que se passe-t-il ?

o Ajoutez la possibilité au propriétaire de lire le fichier. Essayez de modifier le


contenu du fichier private.txt. Quelle commande utiliser pour avoir le droit
de modifier le contenu du fichier ?

Exercice 7

Créez un fichier mon_prog.sh dans un dossier TD_exo7

À l'aide d'un éditeur de texte, copiez le code suivant à l'intérieur :

CTRL+C pour copier, CTRL+V pour coller

#!/bin/bash
2

echo "Liste des fichiers du répertoire courant"


4

ls -l
Question

 Exécutez le script précédent en saisissant (en ligne de commande) :

CTRL+C pour copier, CTRL+V pour coller

./mon_prog.sh

 Que se passe-t-il ?
 Comment y remédier ?

Indice

3.4 Exercice☘
Recopier et compléter le tableau ci-dessous:

Type droits valeur octale Signification

- --- --- --- 000 Aucun accès à qui ce soit

- rw- --- ---

- rw- r-- r--

- 666

d 700
Type droits valeur octale Signification

- rwx r-x r-x

d rwx r-x r-x

- 777

d 777

Typedroitsvaleur octaleSignification---- --- ---000Aucun accès à qui ce soit.-rw- --- ---600lecture et ecriture sur le
fichier réservées au propriétaire.-rw- r-- r--644Tout le monde peut lire le fichier mais seul le proprétaire peut le
modifier.-rw- rw-r w-666Tout le monde peut lire et écrire.drwx --- ---700Sur le répertoire, lecture, accès et écriture
réservés au propriétaire.-rwx r-x r-x755Fichier lisible et exécutable par tous, seul le propriétaire peut le modifier.drwx
r-x r-x755Tout le monde peut accéder au répertoire, seul le propriétaire peut modifier son contenu.-rwx rwx
rwx777Pour un fichier, tout le monde peut lire, éxecuter et modifier le fichier.drwx rwx rwx777Pour un répertoire, tout
le monde peut accéder, lire le contenu et le modifier.
4. Changer les droits☘

Seuls root et le propriétaire d'un fichier peuvent changer ses permissions d'accès.
Pour cela, on utilisera la commande chmod (abréviation de change mode).

4.1 Définir les droits : méthode 1☘


 Attribuer des droits de lecture et écriture au propriétaire seul sur le fichier
de nom unfichier:
root@debian10:~# chmod 600 unfichier

600 correspond à 400+200 (soit à rw-------).

 Attribuer tous les droits au propriétaire et aucun au groupe propriétaire et


aux autres sur /home/seb/ et tout ce qu'il contient :
root@debian10:~# chmod -R 700 /home/seb/

L'option -R (récursif) est ce qui permet d'attribuer les droits choisis non seulement au
répertoire, mais aussi à tout son contenu.

700 correspond à 400+200+100 (soit à rwx------).

5. Définir les droits : méthode 2☘

Il existe un autre moyen de modifier les droits d'un fichier avec la commande chmod.
Dans ce mode d'utilisation, il faut savoir que :

 u signifie : user (propriétaire) ;


 g signifie : group (groupe) ;
 o signifie : other (autres) ;

… et que :

 + signifie : « Ajouter le droit » ;


 - signifie : « Supprimer le droit » ;
 = signifie : « Affecter le droit ».

 Ajouter le droit d'écriture au groupe sur unfichier:


root@debian10:~# chmod g+w unfichier

 Enlever le droit de lecture aux autres sur unfichier:


root@debian10:~# chmod o-r unfichier

 Ajouter les droits de lecture et d'exécution au propriétaire sur unfichier:


root@debian10:~# chmod u+rx unfichier

 Ajouter le droit d'écriture au groupe et l'enlever aux autres sur unfichier:


root@debian10:~# chmod g+w,o-w unfichier

 Enlever le droit de lecture au groupe et aux autres sur unfichier:


root@debian10:~# chmod go-r unfichier
 Ajouter le droit d'exécution à tout le monde sur unfichier:
root@debian10:~# chmod +x unfichier

 Affecter tous les droits au propriétaire, uniquement la lecture au groupe,


rien aux autres sur unfichier:
root@debian10:~# chmod u=rwx,g=r,o=- unfichier

6. Exercices☘

Pour faire les exercices, vous vous référerez aux commandes vues
dans les pages précédentes. Les exercices sont à faire sur votre
cahier.

6.1 Exercice☘

Ci-dessous, le résultat de la commande ls -l en console:

seb@debian10:~/Documents ls -l
total 8
drwxr-xr-- 2 seb seb 4096 juil. 10 17:56 bidule
-rwxrw---x 1 seb profs 0 juil. 10 17:56 machin.sh
-rwxr-x--- 1 bob profs 3 juil. 10 17:57 truc

1. Quel est l'utilisateur ?


2. Quel est le nom de la machine utilisée ?
3. Quel est le répertoire courant ?
4. Combien contient-il de fichiers ? de dossiers ?
5. Pour le fichier machin.sh, expliquer chacune des informations
affichées.
6. Donner la valeur octale des permissions sur ces fichiers /
dossiers.
Réponses

1. utilisateur : seb
2. nom de la machine utilisée : debian10
3. répertoire courant : ~/Documents (/home/seb/Documents)
4. Combien de fichiers : deux fichiers (machin.sh et truc) et un
dossier (bidule).
5. Pour le fichier machin.sh, information donnée par ls - l: -rwxrw---x
 droits en lecture/écriture/exécution pour le
propiétaire seb,
 droits en lecture/écriture pour le groupe prof,
 droits en exécution pour les autres.
 Taille du fichier 0 octet.
Dernière modificaton du fichier le 10 juillet à 17h56.

6. Valeurs octales.
 drwxr-xr--: 400+200+100+40+10+4 = 754.

 -rwxrw---x: 400+200+100+40+20+1 = 761.

 -rwxr-x---: 400+200+100+40+10 = 750.

6.2 Exercice☘

A quels droits correspondent les valeurs octales suivantes : 451 ;


742 ; 254 et 650 ?

Réponses

 451: r-- r-x --x


 742: rwx r-- -w-
 254: -w- r-x r--
 650: rw- r-x ---

6.3 Exercice☘

Quels sont les droits sur un fichier et les valeurs octales


correspondants à :

 Le propriétaire peut afficher le contenu et le modifier.


 Le groupe propriétaire peut lire le contenu.
Les autres peuvent exécuter le fichier.

Réponses
rw- r-- --x.
En octal 641

6.4 Exercice☘

Quels sont les droits sur un dossier et les valeurs octales


correspondants à:

 Le propriétaire peut lister le contenu et créer / supprimer des


fichiers.
 Le groupe propriétaire lister le contenu uniquement.
Les autres peuvent traverser le dossier uniquement.
Réponses

rwx r-x --x


En octal 751

6.5 Exercice☘

Chercher à comprendre chaque étape à partir de la question 4 en


affichant les droits des fichiers et répertoires.

1. Dans le dossier Documents du poste, créez un dossier TD_exo2 et


déposez le fichier frozen-bubble-2.2.0.zip dedans (ne pas choisir
le dossier Documents de votre perso, prendre celui du poste).
2. Ouvrez un terminal, placez vous dans le dossier TD_exo2.
Dézippez le fichier précédent à l'aide de la commande unzip
frozen-bubble-2.2.0.zip.

3. Placez vous dans le répertoire frozen-bubble-2.2.0 et exécutez la


commande bash first.sh.
4. Listez les fichiers et répertoires contenus dans le dossier
courant.
5. Essayez d’afficher le contenu du répertoire tools. Que se passe-t-
il?
6. Essayez de vous placer dans le répertoire icons. Pouvez-vous
lister son contenu ?
7. Essayez de créer un fichier i_was_here.txt dans le
répertoire server. Avez-vous essayé de vous placer dans le
dossier server?
8. Essayez d’afficher le contenu du fichier README avec la
commande cat. Que se passe-t-il?
9. Ouvrez le fichier settings.mk avec un éditeur de texte, en tapant
par exemple geany settings.mk et tentez de le modifier. Est-ce
possible?
10. Afficher le contenu du fichier first.sh avec la commande cat.
Ce fichier est celui qui a été exécuté en question 3: les
commandes qu'il contient sont celles qui ont supprimé des droits
sur les fichiers et répertoires manipulés précédemment. Vérifiez
que cela correspond bien à ce que vous avez obtenu dans les
questions précédentes.
Indications

4. Utilisez ls.
5. ls tools donne: impossible d'ouvrir le répertoire 'tools': Permission
non accordée. Pour comprendre la situation, taper ls -l: on constate
que les droits sur le dossier tools sont donnés par d-wxrwxrwx. Le
propriétaire (vous puisque c'est vous qui avez créé tout le répertoire
sur votre machine) ne peut pas lire le contenu.
6. Les droits sur icons sont drw-r-xr-x. En tant que propriétaire, vous
n'avez pas le droit x. Vous ne pouvez pas entrer dans le répertoire
(avec cd). Vous avez le droit r: vous pouvez voir le nom des fichiers
et répertoires contenus dans icons (avec ls).
7. Les droits sur le répertoire server sont dr-xr-xr-x. Vous n'avez pas
le droit w: la tentative de création de fichier (depuis frozen-bubble-
2.2.0) par touch server/i_was_here.txt échoue. Vous avez le droit x :
vous pouvez vous placer dans le dossier server par la commande cd
server depuis frozen-bubble-2.2.0 (mais vous ne pouvez toujours pas
créer un nouveau contenu).
8. Les droits du fichier README sont --w-r--r--. Vous n'avez pas le
droit en lecture, la commande cat README sera donc sans effet
(permission non accordée).
9. Les droits sur settings.mk sont -r--r--r--. Vous avez le droit en
lecture. La commande nano settings.mk (ou geany settings.mk pour
utiliser l'éditeur geany plutôt que l'éditeur nano) vous permettra
donc de lire le contenu. Mais vous n'avez pas le droit en écriture: il
ne vous est pas possible de faire de modifications dans le fichier.
10. Les droits sur first.sh sont -rwx------. Vous pouvez donc afficher
le contenu de ce fichier avec cat first.sh.
6.6 Exercice☘

1. Créez dans /home/nsi/Documents un dossier TD_exo3 puis un


fichier fich1.
 Observez les droits de fich1,
 attribuez lui tous les droits pour tout le monde à l'aide
de chmod et observez à nouveau ses droits
2. Créez un fichier private.txt dans TD_exo3 avec les
permissions suivantes :
 Lecture et écriture seulement autorisées pour le
propriétaire du fichier
 Aucun droit pour les autres.
 Ajoutez au groupe propriétaire la possibilité de lire le
fichier. Puis à tous les utilisateurs.
 Modifiez les droits d’accès de private.txt pour en
empêcher la lecture, l’écriture et l’exécution par qui
que ce soit. Essayez de lire le contenu du fichier. Que
se passe-t-il ?
3. Ajoutez la possibilité au propriétaire de lire le fichier.
Essayez de modifier le contenu du fichier private.txt. Quelle
commande utiliser pour avoir le droit de modifier le contenu
du fichier ?

6.7 Exercice☘

 Créez un fichier mon_prog.sh dans un dossier TD_exo4


 à l'aide de la commande geany mon_prog.sh taper le code suivant
et enregistrer le fichier:
#!/bin/bash

echo "Liste des fichiers du répertoire courant:"


ls -l

 Exécutez le script précédent en saisissant (en ligne de


commande): ./mon_prog.sh.
 Que se passe-t-il ?
 Comment y remédier ?
Réponses
Le script ne s'exécute pas car le fichier créé n'a pas a priori le droit
x.
Il faut donc ajouter ce droit:
chmod u+x mon_prog.sh.

7. QCM☘

Note

Les QCM sont là pour vous aider à contrôler ce que vous avez
retenu. Si vous ne répondez pas à toutes les questions sans
hésitation, c'est sans doute qu'il faut retravailler les pages
précédentes.

Trouvez la ou les bonnes réponses.

7.1 QCM☘

Si un fichier a les permissions suivantes 764:

 Tout le monde peut lire, le groupe ne peut que exécuter


et le propriétaire peut lire et écrire
 Chacun peut lire et écrire, mais le propriétaire seul peut
exécuter
 Tout le monde peut lire, le groupe y compris le
propriétaire peut écrire, le propriétaire seul peut exécuter
 Tout le monde peut lire, le groupe peut écrire et lire et le
propriétaire peut lire, écrire et exécuter.
Réponse

 Tout le monde peut lire, le groupe ne peut que exécuter et


le propriétaire peut lire et écrire
 Chacun peut lire et écrire, mais le propriétaire seul peut
exécuter
 Tout le monde peut lire, le groupe y compris le
propriétaire peut écrire, le propriétaire seul peut exécuter
 Tout le monde peut lire, le groupe peut écrire et lire et le
propriétaire peut lire, écrire et exécuter.

7.2 QCM☘

Quelle est la représentation octale de ces permissions -rwx r-x r–?

 777
 766
 744
 754
Réponse

 777
 766
 744
 754

7.3 QCM☘

Les permissions -rwxr--r-- sont représentées par la valeur octale :

 777
 666
 744
 711
Réponse

 777
 666
 744
 711
7.4 QCM☘

Quelle est la commande pour accorder, à tous, la permission


d’exécution sur tous les fichiers et sous-répertoires de
«/home/document/mydirectory».

 chmod –r +x /home/document/mydirectory

 chmod –R +x /home/document/mydirectory

 chmod –f –r +x /home/document/mydirectory
 chmod –F +x /home/document/mydirectory
Réponse

 chmod –r +x /home/document/mydirectory

 chmod –R +x /home/document/mydirectory

 chmod –f –r +x /home/document/mydirectory
 chmod –F +x /home/document/mydirectory

7.5 QCM☘

Quelle commande est utilisée pour attribuer le droit de lecture-


écriture au propriétaire du fichier?

 chmod a+r file

 chmod o+r file

 chmod u=rw file


 chmod og-r file
Réponse

 chmod a+r file

 chmod o+r file

 chmod u=rw file


 chmod og-r file
7.6 QCM☘

Les permissions -rwxr-xr-x sont représentées par la valeur octale

 777
 755
 754
 751
Réponse

 777
 755
 754
 751

7.7 QCM☘

chmod o-w myfile

 définit la permission d’écriture pour « others »


 définit la permission de lecture pour « others »
 efface la permission d’écriture pour « others »
 efface les permissions d’écriture.
Réponse

 définit la permission d’écriture pour « others »


 définit la permission d’écriture pour « others »
 efface la permission d’écriture pour « others »
 efface les permissions d’écriture

7.8 QCM☘
Laquelle de ces commandes va définir les permissions sur le fichier
« myfile »: lire et écrire pour le propriétaire(user), lire pour le
groupe(group) et rien pour autres(others)?

 chmod 046 file


 chmod 640 file
 chmod 310 file
 chmod rw rw file
Réponse

 chmod 046 file


 chmod 640 file
 chmod 310 file
 chmod rw rw file

7.9 QCM☘

Si vous êtes un utilisateur root, comment pouvez-vous autoriser


l’exécution uniquement pour le propriétaire du fichier « myfile »?

 chmod +x myfile
 chmod u+x myfile
 chmod a+x myfile
 chmod U+X myfile
Réponse

 chmod +x myfile
 chmod u+x myfile
 chmod a+x myfile
 chmod U+X myfile

7.10 QCM☘
Un utilisateur exécute la commande chmod +x myfile.txt sur son fichier
myfile.txt.

 La commande entraîne l’ajout d’une permission


d’exécution à l’utilisateur qui a exécuté cette commande
 La commande entraîne l’ajout d’une permission
d’exécution pour le propriétaire du fichier
 La commande entraîne une erreur car le fichier n’est pas
un fichier exécutable
 La commande entraîne l’ajout d’une permission
d’exécution pour tous (utilisateur, groupe et autres)
Réponse

 La commande entraîne l’ajout d’une permission


d’exécution à l’utilisateur qui a exécuté cette commande
 La commande entraîne l’ajout d’une permission
d’exécution pour le propriétaire du fichier
 La commande entraîne une erreur car le fichier n’est pas
un fichier exécutable
 La commande entraîne l’ajout d’une permission
d’exécution pour tous (utilisateur, groupe et autres)

7.11 QCM☘

Les catégories d'utilisateurs définies pour les droits d'accès sont :

 Le superutilisateur
 Le propriétaire
 L'utilisateur invité
 Le groupe
 Les autres utilisateurs
Réponse

 Le superutilisateur
 Le propriétaire
 L'utilisateur invité
 Le groupe
 Les autres utilisateurs

7.12 QCM☘

Pour changer les droits d'accès à un fichier existant, je peux utiliser


la commande

 chmod
 cat
 lscp toto tata
 mkdir
Réponse

 chmod
 cat
 lscp toto tata
 mkdir

7.13 QCM☘

La commande 'ls -la rep' fournit le résultat ci-dessous

total 6
drwxrwxr-x 2 paul staff 512 Oct 13 15:14 .
drwxr-xr-x 8 paul root 512 Sep 23 05:52 ..
-rwxr--r-x 1 paul staff 417 Oct 13 19:17 fiche
Précisez pour chacune des actions ci-après, si elle est autorisée :

 Tout membre du groupe 'staff' peut lire 'fiche'


 Tout membre du groupe 'staff' peut renommer 'fiche'
 Tout membre du groupe 'staff' peut détruire 'fiche'
Réponse

 Tout membre du groupe 'staff' peut lire 'fiche'


 Tout membre du groupe 'staff' peut renommer 'fiche'
 Tout membre du groupe 'staff' peut détruire 'fiche'

PrécédentExercices

SuivantChanger les propriètaires

Made with Material for MkDocs

8. Changer les propriétaires☘

Attention

Les commandes de cette page sont facultatives.

Les commandes chown (change owner) et chgrp (change group) à exécuter en tant que
root pour changer le propriétaire ou le groupe propriétaire d'un fichier.

8.1 Changer le propriétaire d'un fichier :☘

 Changer le propriétaire d'un fichier :


root@debian10:~# chown new_owner un_fichier

 Changer le groupe propriétaire d'un fichier :


root@debian10:~# chgrp new_group_owner un_fichier

 Changer le propriétaire et/ou le groupe propriétaire d'un fichier :


root@debian10:~# chown new_owner:new_groupowner unfichier

 Changer le propriétaire et/ou le groupe propriétaire d'un dossier et de tous


les fichiers/sous-dossiers contenus :
root@debian10:~# chown -R new_owner:new_groupowner undossier/

Vous aimerez peut-être aussi