Aller au contenu

TP Droits des utilisateurs

I. Prise en main⚓︎

Pour ce TP, nous allons utiliser un émulateur du système Linux qui nous donnera l’accès à une invite de commande mis à disposition par l'université de la réunion :Emulateur Linux

Attendre d'obtenir ceci :

accueil

II. Les groupes⚓︎

Les groupes

Un utilisateur fait partie de groupe(s), dont un principal (qui peut être attribué par défaut).

En fait, le système d’exploitation l’identifie par un numéro (UID, identifiant d’utilisateur ou user ID) ainsi que ses groupes (par leur GID).

La commandeid

Utiliser la commande id afin de déterminer les groupes auxquels appartient alice .

Noter les renseignements obtenus :

  • NumĂ©ro d’identification et son nom :
  • groupe principal :
  • groupes secondaires :
Solution

alice

  • NumĂ©ro d’identification uid : 1000 et son nom : alice
  • groupe principal gid: 1000 et son nom : user
  • groupes secondaires groups : 1000 (user) et 1001 (developer)
Remonter l'arborescence

Remonter d'un niveau, utiliser la commande pour voir oĂą vous ĂŞtes.
Recommencer.

Solution

remonter

Le dossier etc
  • Lister les dossiers et fichiers de la racine.

  • Utiliser les commandes cat /etc/passwd puis cat /etc/group.

Solution

groupes

On voit qu'en plus de root, il existe deux groupes user et developer auxquels alice et bob appartiennent.

III. Gérer les droits⚓︎

Voir les droits⚓︎

Les droits

Aller dans /home/alice et exécuter ls -l

Solution

droits alice

Rappel sur les droits

Exemple : drwxr-xr-x

d rwx r-x r-x
répertoire u : propriétaire g : groupe principal o : autres
  • le premier symbole d signifie que l’on a affaire Ă  un rĂ©pertoire. dans le cas d’un fichier, nous aurions un -
  • les 3 symboles suivants rwx donnent les droits du propriĂ©taire du fichier : lecture autorisĂ©e (r), Ă©criture autorisĂ©e (w), exĂ©cution autorisĂ©e ( x)
  • les 3 symboles suivants r-x donnent les droits du groupe liĂ© au fichier : lecture autorisĂ©e (r), Ă©criture interdite (- ), exĂ©cution autorisĂ©e ( x)
  • les 3 symboles suivants r-x donnent les droits des autres utilisateurs : lecture autorisĂ©e (r), Ă©criture interdite (- ), exĂ©cution autorisĂ©e ( x)

Pour plus de précisions, vous pouvez vous reporter au TP précédant.

Les droits

Aller dans /home/alice/Compagnon/A33

DĂ©tailler les droits pour fichier1.txt

Solution

A33

Il s'agit d'un simple fichier. alice et le groupe principal ont les droits en lecture et écriture mais pas en exécution. Les autres ont les droits seulement en lecture.

Modifier les droits⚓︎

A savoir

Le propriétaire d’un fichier(ou l’utilisateur "root") peut en modifier les droits avec chmod(change mode).

Seul lui peut le faire, ainsi que le « super-utilisateur » (ou administrateur système) root qui a les pleins pouvoirs sur la machine (ce qui est donc dangereux : on ne l’utilise que quand cela est strictement nécessaire)

chmod

La syntaxe est chmod modifications fichier, où modifications est composé :

  • du public (une ou plusieurs lettres parmi u, g et o dĂ©finis ci-dessus, voire a pour « tous », soit all), puis
  • d’un opĂ©rateur (= pour attribuer des droits et seulement ceux-lĂ , + pour ajouter des droits Ă  ceux dĂ©jĂ  donnĂ©s et - pour en Ă´ter Ă  ceux qui existent) et enfin
  • du ou des droits dĂ©signĂ©s par l’une ou plusieurs des lettres parmi r, w et x.

Exemples

  • chmod o-wx mon_fichier Ă´te les droits en Ă©criture et en exĂ©cution aux « autres utilisateurs ».
  • chmod a+x mon_fichier donne les droits en exĂ©cution Ă  tous les utilisateurs,

👉 On peut même donner plusieurs séries d’attributs, séparées par des virgules.

chmod ug=rwx,o=r mon_fichier donne tous les droits à l’utilisateur et au groupe, mais seulement le droit en lecture aux autres utilisateurs.

A vous de jouer
  • Ecrire la commande qui permet d’ajouter les droits en exĂ©cution au groupe et aux autres utilisateurs, pour fichier1.txt VĂ©rifier le rĂ©sultat après exĂ©cution.
  • Essayer ensuite d’autres modifications de droits sur ce fichier, et vĂ©rifier Ă  chaque fois le rĂ©sultat. Pour cela vous pouvez utiliser ls -l fichier1.txt . N’oubliez pas que la flèche vers le haut du clavier permet de rappeler les dernières commandes utilisĂ©es.
Solution

chmod

Créer un fichier
  • CrĂ©er un fichier test1 vide dans le rĂ©pertoire d’alice.
  • Noter les permissions de ce fichier.
  • Ecrire la commande pour que les "autres utilisateurs" aient la permission "Ă©criture", puis vĂ©rifier
Solution

test1

Pour le fichier test1 : avant le changement alice avait les droits en lecture et Ă©criture seulement, le groupe principal et les autres avaient les droiits seulement en lecture

Octal

Il existe une autre manière de décrire les droits à appliquer : le codage "octal".

Par exemple :

l’écriture "symbolique" : rwx r-x r-x
correspond à l’écriture binaire 111 101 101. (On met 1 quand il y a r, ou w, ou x, et 0 quand il y a -)

Sur 3 bits les nombres vont de 0 (000 en binaire) à 7 = 4 + 2 + 1 (111 en binaire) . On peut donc considérer que l'on travaille en base 8 (d'où le nom octal)

Il suffit de convertir chaque groupe de 3 bits en octal, pour obtenir la notation "octal"

Ici 111 en binaire correspond Ă  4 + 2 + 1 = 7, 101 en binaire correspond Ă  4 + 1 = 5.

L'Ă©criture "symbolique" rwx r-x r-x correspond Ă  755 en "octal". C'est plus rapide Ă  Ă©crire

Octal

Indiquer quels droits sont attribués par chmod 644 fichier1.txt puis vérifier.

Solution

6 = 4 + 2 s'Ă©crit en binaire sur 3 bits 110
4 s'Ă©crit en binaire sur 3 bits 100
644 correspond donc Ă  110 100 100
C'est Ă  dire Ă  rw- r-- r--

chmod 644

IV. Compléments⚓︎

Lire un fichier⚓︎

Lire un fichier

Aller dans le répertoire A33 Tester cat sur le fichier fichier2.txt. Que se passe-t-il ?

Solution

Le fichier est trop long, on n'en voit que la fin, ce qui était au début a disparu de la console

less

less charge au fur et à mesure la zone du fichier qui est affichée, ce qui lui permet de démarrer très rapidement même avec des fichiers énormes. Pour quitter, il faut taper q

Tester less fichier2.txt. Appuyez plusieurs fois sur la touche "Entrée", puis quitter.

Il existe de nombreuses options possibles avec less.

Aide⚓︎

Le plus important à retenir, surtout quand on connaît une commande mais pas ses options, ou si l’on découvre une commande inconnue dans un exemple, est de savoir accéder à l’information intégrée au shell :

man

  • man la_commande renvoie une aide complète (souvent plus longue qu’une page, on peut ajouter Ă  la suite |less pour se dĂ©placer dedans avec les flèches, puis quitter avec q.
  • info la_commande offre un service comparable.

help

Plus simplement, la plupart des commandes ont une option help(en général, double tiret pour une option qui s’écrit sur plus d’un caractère) ou -h qui décrit leur utilisation.

Tester
  • Tester ls --help
  • Trouver comment lister le contenu d’un rĂ©pertoire en triant les Ă©lĂ©ments par ordre dĂ©croissant de taille.
Solution

ls -S

tailles