Aller au contenu

TP Commandes linux

CrĂ©dits⚓

Cette activité, avec l'émulateur Linux, a été en trÚs grande partie créée par Thomas Castanet.

I. Prise en main et login⚓

Pour explorer le monde de Linux, nous allons utiliser un Ă©mulateur du systĂšme Linux qui nous donnera l’accĂšs Ă  une invite de commande Emulateur Linux Lors du lancement, vous aurez un Ă©cran d’accueil de la forme suivante :

nom image

Les différents utilisateurs et mot de passe pour la connexion sont inscrits en haut de la page.

Nous les rappelons ci-dessous :

Utilisateur alice bob eve root user
Mot de passe alice22 bob2022 2eve2 admin2022 22user

Pour nous identifier avec l’utilisateur alice :

  • d’abord saisir le login alice
  • valider le choix en appuyant sur “Enter”
  • saisir le mot de passe alice22 (attention rien n’apparait Ă  l’écran lors de la saisie du mot de passe)
  • valider la saisie en appuyant sur “Enter”

👉 Nous voyons que l’authentification a rĂ©ussi en observant la ligne alice:~$

alice:~$

  • alice : indique le nom de l’utilisateur courant
  • ~ : indique le rĂ©pertoire courant. Ici “~” indique le rĂ©pertoire personnel de l’utilisateur courant (ici, alice).
  • $ : permet de sĂ©parer le prĂ©ambule, des instructions saisies par l’utilisateur.

II. Explorer les dossiers⚓

Les commandes cd et ls

La commande cd (change directory) permet, comme son nom l’indique, de changer de rĂ©pertoire. La commande ls (list) permet de lister le contenu du rĂ©pertoire courant.

Tester

Saisir cd .. (ne pas oublier l'espace avant ..), puis saisir ls

Solution

Vous devez obtenir :

cd et ls

  • l’instruction “cd ..” permet de remonter d’un dossier dans l’arborescence des fichiers. Voila pourquoi le prĂ©fixe du terminal passe de alice :~$ Ă  alice :/home

  • Le dossier courant Ă©tait ~, c’est-Ă -dire /home/alice. En remontant d’un niveau, on arrive dans le dossier /home

  • La commande ls liste le contenu du dossier courant qui est maintenant /home.
    Nous voyons que le dossier /home contient lui-mĂȘme cinq autres dossiers (car affichĂ©s en bleu) : alice ; bob ; eve ; rep_a ; rep_b ; user

Tester

Saisir cd rep_b, puis saisir cd rep_a Que remarquez-vous ?

Solution

Vous devez obtenir :

cd

Nous remarquons :

  • que l’utilisateur alice n’a pas les droits pour accĂ©der au dossier /home/rep_b,
  • alors qu’elle peut accĂ©der au dossier /home/rep_a.

III. L'utilisateur root⚓

Le super utilisateur

Dans tous les systĂšmes d’exploitation Linux, il existe un utilisateur root, appelĂ© Ă©galement “super-utilisateur”, qui est l’administrateur du systĂšme d’exploitation.

Il a pour particularitĂ© de pouvoir accĂ©der Ă  tous les fichiers, de changer les droits d’accĂšs, les mots de passe de tous les utilisateurs.

Son numĂ©ro d’identification est toujours 0.

👉 On s’authentifie Ă  l’aide de la commande su abbrĂ©viation de “super user”

Tester su

Saisir su Le mot de passe demandé est admin2022 Que remarquez-vous ?

Solution

Nous remarquons que a l’invite de commande s’est modifiĂ©e. ParticuliĂšrement son prĂ©fixe :
A la place de alice :/home/rep_a$ nous avons maintenant root :~#

Tester id et pwd

Saisir id puis pwd Que remarquez-vous ?

Solution

Vous devez obtenir :

root

Nous remarquons :

  • que l’identifiant de l’utilisateur root est 0 (uid=0(root)) et que son groupe est le groupe root (groups=0(root)
  • son dossier personnel est un dossier nommĂ© root situĂ© Ă  la racine / de l’arborescence de fichiers.

IV. Gestion des utilisateurs⚓

Trouver les utilisateurs

Avec Linux, la plupart des configurations du systùme passe par des fichiers textes que seul l’utilisateur root a le droit de consulter et de modifier.

👉 Pour la gestion des utilisateurs, ce sera le fichier /etc/passwd et pour la gestion des groupes d’utilisateurs, ce sera le fichier /etc/group

Tester

Saisir cd /etc puis ls

Solution

Vous devez obtenir :

root

Editer le fichier passwd⚓

Nous allons Ă©diter le fichier passwd Ă  l’aide de l’instruction nano.

👉 Saisir nano passwd

Voici le contenu du fichier /etc/passwd affiché.

👉 Modifier la fin de la ligne d’alice :

A la place de /usr/bin/bash on veut /usr/bin/false. Il faudra déplacer le curseur avec les flÚches du clavier.

đŸŒ” Cette modification empĂ©chera Ă  l’utilisateur alice de s’authentifier.

👉 Quitter le logiciel nano par la combinaison de touches Ctrl+X
👉 Saisir Y (Yes pour sauvegarder la modification)
👉 Appuyer sur la touche "entrĂ©e"

Vous devez obtenir ceci :

passwd

Les groupes d'utilisateurs⚓

Avant de vĂ©rifier que l’effet de cette modification est immĂ©diat pour l’utilisateur alice, nous allons afficher les groupes d’utilisateurs utilisĂ©s par le systĂšme d’exploitation.

Ces informations sont contenues dans le fichier /etc/group.

Tester cat

Saisir cat group pour afficher le contenu du fichier directement dans le terminal.
Qu'obtenez-vous ?

Solution

groupes

Les groupes

  • Chaque utilisateur (alice, bob, eve, user, root) possĂšde un groupe Ă  leur nom.
  • Il existe trois groupes : dont deux (eleves et professeurs) possĂšdent des utilisateurs , et un (nogroup) qui n'en possĂšde pas.

L'authentification d'alice⚓

Maintenant, vĂ©rifions qu’alice ne peut plus s’authentifier dans le terminal.

La commande exit

La commande exit permet de fermer la session courante.

Tester

Nous allons utiliser deux fois commande exit : une fois pour fermer la session de root, une seconde fois pour fermer celle d’alice.
Nous revenons ici à l’invite d’authentification.
Essayez de vous connecter en tant qu'alice. Qu'obtenez-vous ?

Solution

login alice

MalgrĂ© nos tentatives, il n’est pas possible de s’authentifier sous l’utilisateur alice :

Remarque

Remarque: vous pouvez modifier tout ce que vous voulez sur cet Ă©mulateur. Il suffit de rafraĂźchir la page pour revenir Ă  la configuration d’origine du systĂšme d’exploitation.

V. Droits d'accĂšs aux dossiers et fichiers⚓

👉 Rafraichir la page et se connecter en tant qu'utilisateur alice

accĂšs aux dossiers

Saisir les commandes qui permettent d'accéder aux fichiers rep_a et rep_b.

Que remarquez-vous ?

Solution

acces

  • alice accĂšde au dossier rep_a.
  • l’accĂšs au dossier rep_b lui est refusĂ©.
accĂšs aux fichiers

Saisir la commandes qui permet de savoir dans quel dossier vous ĂȘtes. Si nĂ©cessaire, saisir la commande pour aller dans le dossier rep_a Saisir la commande touch fichierC.txt qui permet de crĂ©er le fichier fichierC.txt dans le dossier

Que remarquez-vous ?

Solution

touch

alice accĂšde au dossier rep_a mais ne peut pas crĂ©er un nouveau fichier (nommĂ© fichierC.txt) Ă  l’aide de la commande touch.

Les droits d'accĂšs⚓

👉 Saisir la commande exit, puis se connecter avec l'utilisateur eve.

accĂšs aux dossiers

Aller dans le dossier rep_a, puis créer le fichier fichierC.txt dans ce dossier.
Faire de mĂȘme dans le dossier rep_b

Que remarquez-vous ?

Solution

Droits eve

đŸŒ” L’utilisateur eve a accĂšs au dossier rep_a mais n’a pas le droit de crĂ©er un nouveau fichier.
😊 Par contre, elle peut accĂ©der au dossier rep_b et y crĂ©er un nouveau fichier (nommĂ© fichierC.txt) Ă  l’aide de la commande touch.

Les groupes⚓

La commande id

La commande id permet de connaitre les groupes auxquels appartiennent les utilisateurs.

La commande id

Saisir id eve, puis id alice

Que remarquez-vous ?

Solution

id

Nous pouvons déjà déduire :

  • le groupe eleves contient les deux utilisateurs alice et eve.
  • le groupe professeurs contient l’utilisateur eve mais pas l’utilisateur alice.

Les droits et les utilisateurs⚓

Revenons Ă  ce que nous avons obtenu pour eve :

Droits eve

La lettre d est utilisée pour un dossier (directory).
Pour un fichier, cela commence par -

👉 On voit que le dossier rep_a est associĂ© au groupe “eleves” : les utilisateurs alice et eve font partie de ce groupe.

👉 On voit que le dossier rep_b est associĂ© au groupe “professeurs” : ce qui permet de justifier que les droits de alice et eve sont diffĂ©rents.

Résumé sur les groupes

Il existe 3 types d'utilisateurs pour un fichier ou un répertoire :

  • u 😊 le propriĂ©taire du fichier (par dĂ©faut c'est la personne qui a crĂ©Ă© le fichier), il est symbolisĂ© par la lettre u

  • g đŸ‘©đŸŸâ€đŸ€â€đŸ‘©đŸ»đŸ‘©đŸŒâ€đŸ€â€đŸ§‘đŸŒ Un fichier est associĂ© Ă  un groupe, tous les utilisateurs appartenant Ă  ce groupe possĂšdent des droits particuliers sur ce fichier. Le groupe est symbolisĂ© par la lettre g

  • o 🩔🐬 Tous les autres utilisateurs (ceux qui ne sont pas le propriĂ©taire du fichier et qui n'appartiennent pas au groupe associĂ© au fichier). Ces utilisateurs sont symbolisĂ©s par la lettre o (other).

  • a 😊 đŸ‘©đŸŸâ€đŸ€â€đŸ‘©đŸ»đŸ‘©đŸŒâ€đŸ€â€đŸ§‘đŸŒ 🩔🐬 (all) correspond Ă  "tout le monde" (permet de modifier "u", "g" et "o" en mĂȘme temps)

👉 Il est possible d'utiliser la commande ls avec l'option ls -l afin d'avoir des informations supplĂ©mentaires

Résumé sur les droits

  • r signifie lecture autorisĂ©e (read)
  • w signifie Ă©criture autorisĂ©e (write)
  • x signifie exĂ©cution autorisĂ©e (execute)
DĂ©tails sur r, w et x

‱ Lecture (r pour read). Pour un fichier ordinaire, cela autorise la lecture du fichier, ce qui permet entre autre de le copier. Pour un rĂ©pertoire, cela permet d’obtenir la liste de ses fichiers.

‱ Écriture (w pour write). Pour un fichier ordinaire, cela permet de le modifier. Pour un rĂ©pertoire, cela permet l’ajout, la suppression, le renommage des fichiers qu’il contient.

‱ ExĂ©cution (x pour execute). Pour un fichier ordinaire cela indique qu’il est possible d’exĂ©cuter ce fichier (s’il s’agit d’un fichier exĂ©cutable). Pour un rĂ©pertoire, cela autorise Ă  se positionner dedans, par exemple avec cd).

Créations

Lorsque l’utilisateur crĂ©e un fichier ou un rĂ©pertoire, ce dernier lui « appartient » , ainsi qu’à son groupe principal.

Lectures des droits

Pour lire les droits, il faur faire les regroupements par utilisateurs :

Droits

Exemple

-rwxr-xr--

Droits

  • Il s'agit d'un fichier (1er caractĂšre Ă  gauche : -)
  • Le propriĂ©taire a les droits en lecture (r), Ă©criture (w) et exĂ©cution (x)
  • Les utilisateurs du groupe ont les droits en lecture et en exĂ©cution
  • Les autres utilisateurs ont les droits en lecture
Le répertoire rep_b

Pourquoi alice ne peut pas créer un fichier dans ce dossier alors qu'eve le peut ?

Solution

On voit que le dossier rep_b est associé au groupe professeurs. drwxrwx--- montre qu' eve qui appartient au groupe professeurs a tous les droits sur ce fichier (rwx). Par contre alice fait partie des autres utilisateurs (other). Elle n'a aucun droit.

Changer les droits⚓

La commande chmod

La commande chmod a cette forme : chmod [u g o a] [+ - =] [r w x] nom_du_fichier

Le droits

Ecrire la commande qui permet d'ajouter le droit en Ă©criture Ă  tous les autres utilisateurs pour rep_a.

Que se passe-t-il ?

Solution

chmod o+w rep_a

L'opération n'est pas permise. En effet ce répertoire n'appartient pas à eve.

Seul root peut le modifier.

Question

Essayer de modifier ces droits avec la commande su.

Solution
  • Commande su puis le mot de passe admin2022
  • Puis commande chmod o+w rep_a
  • vĂ©rifier la modification avec ls -l