Droits Acces
Droits Acces
Droits Acces
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.
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.
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 :
Forme du prompt :
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
su leo
2
su
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 :
sudo <commande>
MéthodeGérer les utilisateurs
cat /etc/passwd
adduser <utilisateur>
passwd <utilisateur>
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) :
Pour ajouter un utilisateur à un groupe existant (en conservant les groupes actuels
auxquels appartient l'utilisateur) :
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 :
cat /etc/group
groupadd <groupe>
groupdel <groupe>
Méthode
Remarque
Repérez le prompt :
root@nsi:~#
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)
Question
Question
Question
Créez le groupe
TNSI ............................................................................................................................
Changer d'utilisateur
Nous allons prendre l'identité d'un utilisateur simple (non administrateur)
Question
.............................................................................................
Placez-vous dans votre dossier personnel (rappel : vous êtes Léa) avec cd ~
Question
Prenez l'identité de Léo puis de root, et allez dans votre dossier personnel
A retenir
Fondamental
A retenir :
Nous allons donc nous connecter en tant qu'utilisateur simple pour aborder la partie
suivante.
Méthode
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.
1. chmod
2. chown
3. chgrp
Ces droits n'ont pas tout à fait la même signification suivant qu'ils sont appliqués à des
fichiers ou à des répertoires.
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:
- : 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:
3.2 Exercice☘
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
4096 : ceci ne correspond pas à la taille du répertoire mais à la taille utilisée pour décrire le répertoire
Types de droits
Il y a 3 catégories d'utilisateurs d'un fichier :
Groupe
Propriétaire Autres
propriétaire
u o
g
r w x r w x r w x
FondamentalDroits pour un fichier
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).
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
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.
Attribuer des droits de lecture et écriture au propriétaire seul sur le fichier de nom
fichier1 :
cedric@desktop:~/NSI$ ls -l
3
total 12
4
cedric@desktop:~/NSI$ ls -l
3
total 12
4
L'option -R (récursif) est ce qui permet d'attribuer les droits choisis non seulement au
répertoire, mais aussi à tout son contenu.
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.
... et que :
1
chmod o-r unfichier
chmod +x unfichier
Affecter tous les droits au propriétaire, juste la lecture au groupe, rien aux autres
sur unfichier:
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.
1
chown nouvel_utilisateur unfichier
A la fin de l'activité, votre document compte rendu doit être déposé dans l'ENT.
Exercice 1
seb@debian10:~/Documents ls -l
2
total 8
3
Exercice 2
Question
A quels droits correspondent les valeurs octales suivantes : 451 ; 742 ; 254 et 650 ?
Exercice 3
Question
Quels sont les droits sur un fichier et les valeurs octales correspondants à :
Exercice 4
Question
Quels sont les droits sur un dossier et les valeurs octales correspondants à :
Exercice 5
frozen-bubble-2_2_0.zip [zip]
unzip frozen-bubble-2_2_0.zip
bash first.sh
Question
Exercice 6
Dans votre dossier personnel NSI, créez un dossier TD_exo6 puis un fichier fich1.
Question
o Ajoutez au groupe propriétaire la possibilité de lire le fichier. Puis à tous les
utilisateurs.
Exercice 7
#!/bin/bash
2
ls -l
Question
./mon_prog.sh
Que se passe-t-il ?
Comment y remédier ?
Indice
3.4 Exercice☘
Recopier et compléter le tableau ci-dessous:
- 666
d 700
Type droits valeur octale Signification
- 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).
L'option -R (récursif) est ce qui permet d'attribuer les droits choisis non seulement au
répertoire, mais aussi à tout son contenu.
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 :
… et que :
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☘
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. 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.
6.2 Exercice☘
Réponses
6.3 Exercice☘
6.4 Exercice☘
6.5 Exercice☘
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☘
6.7 Exercice☘
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.
7.1 QCM☘
7.2 QCM☘
777
766
744
754
Réponse
777
766
744
754
7.3 QCM☘
777
666
744
711
Réponse
777
666
744
711
7.4 QCM☘
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☘
777
755
754
751
Réponse
777
755
754
751
7.7 QCM☘
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)?
7.9 QCM☘
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.
7.11 QCM☘
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☘
chmod
cat
lscp toto tata
mkdir
Réponse
chmod
cat
lscp toto tata
mkdir
7.13 QCM☘
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 :
PrécédentExercices
Attention
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.