Initiation À Linux SMI S3 - Seance3

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

Initiation à Linux

Professeur Jaafar Abouchabaka


2021-2022

Pour la filière SMI, Semestre S3


Chapitre 2 : Connexion d’un utilisateur

2.1 L’utilisateur
2.1.1 Connexion
2.1.2 Mot de passe
2.1.3 Fichiers /etc/passwd et /etc/group
2.1.4 Déconnexion
2.2 Les shells
2.2.1 TC–shell
2.2.2 Bash
2.3 Commandes Linux
2.4 Le terminal

Pr. J.Abouchabaka Initiation à Linux 2


Chapitre 2 : Connexion d’un utilisateur

2.1 L’utilisateur

• Pour travailler sur la même machine, Linux met en œuvre des


mécanismes d’identification des utilisateurs, de protection et de
confidentialité de l’information, tout en permettant le partage contrôlé
nécessaire au travail en groupe.

• Tout utilisateur est identifié par un nom (login name) et ne peut utiliser
le système que si son nom a préalablement été défini par
l’administrateur du système (ou super–utilisateur).

• Ce dernier, dont le nom est généralement root, a tous les droits et


aucune restriction d’accès ne lui est applicable.

Pr. J.Abouchabaka Initiation à Linux 3


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.1 Connexion

• Lors du démarrage d’une machine, plusieurs étapes se succèdent :


➢ mise sous tension de la machine et de ses périphériques,
➢ bootstrap du système (charger le noyau Linux),
➢ montage des disques,
➢ vérification des systèmes de fichiers (fsck),
➢ passage en multi–utilisateur,
➢ lancement des services.
• On obtient alors, affichée à l’écran, l’invite “ login : ”
• Le système Linux étant un système multi–utilisateur et multitâche,
plusieurs personnes sont connectées simultanément.
• Ainsi pour qu’un utilisateur puisse travailler avec le système Linux, il doit
établir une connexion (ouvrir sa session).
• Lorsque vous avez installé Linux, vous avez eu l’opportunité d’indiquer si
vous vouliez utiliser un écran graphique (connexion en mode graphique)
plutôt qu’une console (connexion en mode texte) pour ouvrir une
session.

Pr. J.Abouchabaka Initiation à Linux 4


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.1 Connexion

Connexion en mode texte


• Pour qu’un utilisateur puisse travailler sur le système, il doit s’identifier
en indiquant tout d’abord son nom suivi de la touche <return> (sur le
clavier la touche ↵) après l’invite login :, puis son mot de passe suivi de
la touche <return> à la suite de l’invite passwd :.
• Lorsque l’utilisateur saisit son mot de passe, les caractères saisis ne sont
pas affichés à l’écran (on dit qu’il n’y a pas d’écho des caractères sur le
terminal), permettant ainsi de garder la confidentialité du mot de passe.
• Apparaît alors à l’écran un certain nombre d’informations (informations
générales, date, arrivée de messages, date de dernière connexion). Puis
le système lance un programme qui généralement est un interpréteur
de commandes (shell).
• L’interpréteur indique par une chaîne de caractères, appelée invite (ou
prompt), qu’il est prêt à recevoir une commande.
• A partir de ce moment, l’utilisateur est connecté (il est entré en
session).

Pr. J.Abouchabaka Initiation à Linux 5


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.1 Connexion

Connexion en mode texte (suite)

• Dans cet exemple, l’utilisateur a pour nom xstra et xstra> correspond à


l’invite (ou prompt) que nous utiliserons dans la suite de cet ouvrage.
Remarques
➢ En cas d’erreur lors de la saisie du nom ou du mot de passe, le système donne à
l’utilisateur la possibilité de recommencer.
➢ Une erreur lors de la saisie du nom peut être annulée par la combinaison de
touches <ctrl–u>.

Pr. J.Abouchabaka Initiation à Linux 6


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.1 Connexion

Connexion en mode graphique


• La procédure d’identification est la même en mode graphique et en
mode texte. Une invite en mode graphique login, parfois nommé
username, demande votre nom que vous saisissez avec le clavier et
validez avec la touche < return >. Puis apparaît une fenêtre demandant
votre mot de passe que vous devez saisir toujours suivi par la touche <
return > pour la validation de votre saisie. Comme en mode texte le
mot de passe n’apparaît permettant ainsi la confidentialité.
• Après avoir réussi votre connexion, c’est-à-dire votre combinaison valide
« nom d’utilisateur et mot de passe », l’interface graphique X Window
est démarrée. Vous découvrez alors un bureau semblable à celle de
Windows.
• Dans cet ouvrage, les exemples et exercices sont présentés en mode
texte. Pour les réaliser en mode graphique, il faut ouvrir un terminal qui
émulera une console en mode texte. Chaque distribution de Linux offre
plusieurs émulateurs de terminal dont le plus classique est « xterm »
obtenu en cliquant sur le bouton droit de la souris.

Pr. J.Abouchabaka Initiation à Linux 7


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.2 Mot de passe

• Lors d’une première connexion, il est fortement conseillé à l’utilisateur


de s’attribuer un mot de passe. Ce mot de passe sera chiffré (le chiffrage
est purement logiciel et non inversible). Il sera impossible de le
retrouver à partir du mot chiffré, même pour le super–utilisateur. Si
l’utilisateur l’oublie, l’administrateur ne peut que le détruire pour lui
permettre d’en définir un autre.
• Un utilisateur peut à tout moment changer son mot de passe à l’aide de
la commande passwd en fournissant l’ancien mot de passe.

• Par la suite, lors des diverses connexions de l’utilisateur, la lecture du


mot de passe se fera sans écho. L’administrateur peut imposer des
contraintes sur le mot de passe (six caractères minimum, un caractère
non alphabétique,…).

Pr. J.Abouchabaka Initiation à Linux 8


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.2 Mot de passe

• L’administrateur de la machine pourra de plus installer des programmes


qui testeront vos mots de passe afin d’interdire par exemple les mots du
dictionnaire, les prénoms, les mots identiques à votre login, etc.
• Lorsque le nom et le mot de passe sont corrects, login récupère dans le
fichier /etc/passwd toutes les informations utiles pour cet utilisateur.
Remarques
• Si vous avez réalisé vous-même l’installation, une fois cette dernière
terminée, connectez-vous au système en tant qu’administrateur
(répondre root au login :). Il faut immédiatement définir un mot de
passe pour cet utilisateur root aussi appelé super-utilisateur.
• Il vous permettra de vous connecter en tant qu’utilisateur root et ainsi
d’avoir tous les droits sur le système. Il doit être utilisé uniquement pour
réaliser des modifications dans votre système.
• C’est pourquoi la première action d’un administrateur est de créer un
compte personnel. Pour ceci, il suffit d’utiliser la commande useradd.

Pr. J.Abouchabaka Initiation à Linux 9


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.2 Mot de passe

Remarque
• La commande useradd permet de créer un utilisateur en précisant des
informations associées.

Pr. J.Abouchabaka Initiation à Linux 10


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.3 Fichiers /etc/passwd et /etc/group

• La liste des utilisateurs du système est généralement dans le fichier


/etc/passwd.
• Ce fichier est accessible en lecture à tous les utilisateurs et contient,
pour chaque utilisateur, les champs suivants :
➢ nom de connexion (login) de l’utilisateur,
➢ un caractère x
➢ le numéro de l’utilisateur (UID = user identifier),
➢ le numéro de groupe (GID = group identifier),
➢ [ commentaire ],
➢ le répertoire d’accueil,
➢ [ programme à lancer ].
• Lors de la connexion, le programme désigné est lancé ; généralement il
s’agit d’un interpréteur de commandes (shell).
Remarque
• Les points cités entre crochets ne sont pas obligatoires.

Pr. J.Abouchabaka Initiation à Linux 11


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.3 Fichiers /etc/passwd et /etc/group

Pr. J.Abouchabaka Initiation à Linux 12


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.3 Fichiers /etc/passwd et /etc/group

• Un groupe d’utilisateurs rassemble un certain nombre d’utilisateurs


pouvant facilement partager des fichiers.
• Ce groupe est répertorié dans un fichier (/etc/group) qui est constitué
par :
➢ nom du groupe,
➢ un champ vide ou contenent un caractère x ou *
➢ numéro du groupe (GID = group identifier),
➢ [ liste des utilisateurs membres du groupe ].
• Les notions d’UID et de GID sont importantes pour la protection des
fichiers (il ne faut pas les changer).
• Un utilisateur a un groupe principal de rattachement et peut appartenir
à plusieurs autres groupes.

Pr. J.Abouchabaka Initiation à Linux 13


Chapitre 2 : Connexion d’un utilisateur 2.1 L’utilisateur

2.1.4 Déconnexion

En mode texte
• Pour sortir de session, vous pouvez utiliser la commande exit.
• La déconnexion est effective lorsqu’apparaît l’invite login :.

En mode graphique
• Pour sortir de session, il faut sélectionner avec le bouton gauche
de la souris le menu démarrer puis choisir la commande log out.
• La déconnexion est effective lorsqu’apparaîtra l’invite graphique
login.

Pr. J.Abouchabaka Initiation à Linux 14


Chapitre 2 : Connexion d’un utilisateur

2.2 Les SHELLS

• Après toute entrée en session (login), le système positionne l’utilisateur


dans son répertoire privé (home directory ou répertoire d’accueil), qui
a été créé par l’administrateur du système au moment de l’ouverture de
son compte et qui devient son répertoire de travail courant.
• Puis le système active l’interpréteur de commandes désigné dans le
dernier champs du fichier /etc/passwd.

• Il existe plusieurs interpréteurs de commandes : le Bash, le TC–shell, et


d’autres.
• Le TC–shell est un descendant très amélioré du C–shell d’origine
Berkeley.
• Le shell standard de Linux est le Bash, descendant très amélioré du
Bourne–shell.
• Ce dernier interpréteur de commandes est présenté plus en détail au
chapitre 6.

Pr. J.Abouchabaka Initiation à Linux 15


Chapitre 2 : Connexion d’un utilisateur 2.2 Les SHELLS

2.2.1 TC–shell

• Le TC–shell doit son nom au fait que sa syntaxe est inspirée du langage
C. Il possède des fonctionnalités supérieures à celles du Bourne–shell,
entre autres :
➢ un mécanisme d’historique avec rappel et édition des commandes ;
➢ la possibilité de création d’alias ;
➢ des possibilités accrues pour le contrôle de processus.
• Il exécute deux fichiers d’initialisation, qui sont les deux fichiers de
commandes (scripts) du répertoire privé de l’utilisateur : .cshrc et .login.
Puis l’interpréteur se met en attente d’une commande de l’utilisateur.
• Le fichier d’initialisation .cshrc est exécuté lors de chaque appel au TC–
shell.
• Il est destiné à positionner des variables du TC–shell, à affecter pour
certaines commandes des arguments implicites et à définir d’autres
commandes (alias). Il affecte une valeur :
➢ à la variable prompt qui définit l’invite,
➢ à la variable path qui contient les répertoires de recherche des commandes,
➢ Aux variables nécessaires à la gestion de l’historique des commandes, etc.

Pr. J.Abouchabaka Initiation à Linux 16


Chapitre 2 : Connexion d’un utilisateur 2.2 Les SHELLS

2.2.1 TC–shell

• Le fichier .login, qui est exécuté après le fichier .cshrc, une seule fois lors
de la connexion, est destiné à positionner des variables
d’environnement de la session. Il contient les initialisations standard,
principalement les caractéristiques du terminal utilisé.

• Les principales variables du TC–shell sont :


➢ prompt valeur du prompt.
➢ path précise le chemin d’accès aux répertoires contenant les principaux
programmes.
➢ home indique le répertoire d’accueil de l’utilisateur.

• En sortie de session, à l’aide de la commande exit, le fichier de


commandes .logout est exécuté

Pr. J.Abouchabaka Initiation à Linux 17


Chapitre 2 : Connexion d’un utilisateur 2.2 Les SHELLS

2.2.2 Bash

• Après une entrée en session (login) sur un système Linux, vous êtes pris en
charge par un interpréteur de commandes (shell) qui est le Bash (bash). A la
connexion, avant l’interprétation des commandes, c’est à dire apparition du
prompt, le Bash exécute les fichiers d’initialisation : /etc/profile et .bash profile.
• Le fichier /etc/profile est généralement géré par l’administrateur système alors
que le fichier .bash profile, se trouvant dans le répertoire d’accueil (Home
Directory), est à la disposition de l’utilisateur. L’existence (ou non), l’accès en
lecture d’un de ces fichiers, peut changer l’ordre d’accès à ces fichiers ou à
d’autres fichiers, .bash login par exemple (cf détails au chapitre 6).
• Ces fichiers permettent de modifier ou de créer des variables internes au shell,
ou des variables d’environnement, de créer des fonctions, etc. Les principales
variables du Bash sont :
➢ PS1 valeur du prompt.
➢ PATH précise le chemin d’accès aux répertoires contenant les principaux programmes.
➢ HOME indique le répertoire d’accueil de l’utilisateur.
• En sortie de session, à l’aide de la commande exit, le fichier de commandes
.bash logout est exécuté s’il existe.

Pr. J.Abouchabaka Initiation à Linux 18


Chapitre 2 : Connexion d’un utilisateur

2.3 Commandes Linux

• Il existe sous Linux de nombreuses commandes dont on trouvera les


plus courantes en annexe A et que nous présenterons tout au long de ce
cours.
• Une commande est composée en premier d’un code mnémonique (son
nom proprement dit), suivi parfois d’options et/ou de paramètres. Une
option dans une ligne de commandes Unix est une lettre. Elle
commence par un tiret "–".
• Sous Linux, les options peuvent être de la forme :
➢ -c c = caractère
➢ --mot mot = un mot explicite
➢ l’espace est le caractère séparateur des différents éléments d’une commande.
• Cette dernière est prise en compte et n’est interprétée que lorsque
l’utilisateur a tapé la touche <return>.
Remarque
• Pour obtenir la totalité des options d’une commande, il faut faire appel
à l’option help.

Pr. J.Abouchabaka Initiation à Linux 19


Chapitre 2 : Connexion d’un utilisateur

2.3 Commandes Linux

• Il est possible, à tout moment avant la saisie de <return>, de modifier


ou d’effacer une commande saisie au clavier et affichée à l’écran. La
touche <backspace> (la touche  situé au-dessus du <return>) ou la
combinaison de touches <ctrl–h> perme d’annuler le dernier caractère
saisi et ainsi de modifier la commande.
• La combinaison <ctrl–u> permet d’effacer tous les caractères situés à
gauche du curseur.

Pr. J.Abouchabaka Initiation à Linux 20


Chapitre 2 : Connexion d’un utilisateur

2.3 Commandes Linux

• L’interpréteur Bash permet de modifier des commandes déjà exécutées


et de les relancer (chapitre 6).
• Linux autorise la frappe anticipée des caractères, c’est–à–dire qu’il est
possible de saisir une réponse à une question sans que cette dernière
soit apparue à l’écran (à n’utiliser que lorsque l’on a une parfaite
maîtrise du système).
• L’exécution d’une commande peut être interrompue à l’aide de la
combinaison <ctrl–c>. Si vous avez saisi une commande inconnue du
système, ce dernier vous l’indiquera par un message d’erreur.

• Si la commande existe, elle est exécutée et affiche à l’écran le résultat.


En cas d’une erreur d’option, le programme indique l’erreur à l’écran et
parfois affiche la liste des options disponibles.
Pr. J.Abouchabaka Initiation à Linux 21
Chapitre 2 : Connexion d’un utilisateur

2.3 Commandes Linux

Remarque
• Pour les utilisateurs de machines Linux, il est formellement déconseillé
de redémarrer la machine (couper le secteur, reset). En effet, un arrêt
brutal de Linux a pour conséquence de rendre le système de fichiers
incohérent.
• Ainsi, si vous êtes « planté », c’est–à–dire si l’une de vos applications
bloque l’écran, que la combinaison de touches <ctrl–c> ne permet pas
de détruire le programme, contrairement à ce que vous feriez avec le
DOS, surtout n’éteignez pas l’ordinateur. Une solution existe : lancer un
écran virtuel par la combinaison de touches <alt–ctrl–F2>.
• Dans cet écran, vous pourrez lancer des commandes de destruction de
programmes et vous pourrez ainsi récupérer la main.
Pr. J.Abouchabaka Initiation à Linux 22
Chapitre 2 : Connexion d’un utilisateur

2.4 Le Terminal

• Il est possible sous Linux d’activer simultanément plusieurs consoles de


connexion. En mode texte, le basculement entre les consoles est obtenu par la
combinaison de touches <alt–ctrl–Fx>, où Fx représente les touches de fonction
F1 à F8 situées sur le haut de votre clavier.

Remarque
• Pour les utilisateurs de machines Linux, il est formellement déconseillé de
redémarrer la machine (couper le secteur, reset). En effet, un arrêt brutal de
Linux a pour conséquence de rendre le système de fichiers incohérent. Ainsi, si
vous êtes « planté », c’est-à-dire si l’une de vos applications bloque l’écran, que
la combinaison de touches <ctrl–c> ne permet pas de détruire le programme,
contrairement à ce que vous feriez avec le DOS, surtout n’éteignez pas
l’ordinateur. Une solution existe : lancez un écran virtuel par la combinaison de
touches <alt–ctrl–F2>. Dans cet écran, vous pourrez lancer des commandes de
destruction de programmes et vous pourrez ainsi récupérer la main.
• Si vous êtes en mode graphique et que vous ne pouvez plus déplacer la souris,
la combinaison de touches <alt–ctrl–backspace> permet de revenir à un mode
texte. Le mode graphique est relancé à partir du mode texte par la commande
startx.

Pr. J.Abouchabaka Initiation à Linux 23

Vous aimerez peut-être aussi