Aller au contenu

Révision Linux - 2

Crédits⚓︎

Sources : M GERVAIS, NSI spécialité - prépabac - Hatier, Université de La Réunion.

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 a les droits en lecture, écriture et exécution. le groupe principal et les autres ont les droits en lecture et exécution, mais pas en écriture.

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 écriture 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 droits 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