Introduction au système d'exploitation Unix -- mise à jour du 8 octobre 1998

[ Table ]

Chapitre 4. Comptes et accès


4.1 Fichier passwd
4.2 L'administrateur du système
4.3 Le répertoire privé « home directory »
4.4 Ouvrir une session « logging in »
4.5 Fermer une session de travail « logging out »

4. Comptes et accès

Pour utiliser un ordinateur sous Unix, une personne a besoin d'un compte. Un compte permet à l'usager d'accéder aux ressources disponibles. De plus, le compte identifie l'usager sur le système. Il est nécessaire que les usagers possèdent un compte dans un contexte multi-usagers afin de gérer l'accessibilité aux ressources. Au minimun, un compte est constitué d'un répertoire privé et d'une entrée dans le fichier /etc/passwd.

Ce chapitre présente les notions de base associées aux accès par l'intermédiaire d'un compte. Il donne, entre-autres, des informations sur l'administrateur du système. C'est le responsable des ordinateurs. Ensuite, on peut voir le concept de répertoire privé associé à un compte. Finalement, l'auteur renseigne le débutant sur la manière typique d'ouvrir et de fermer une session de travail sous Unix.

4.1 Fichier passwd

La majorité des informations concernant un usager se retrouve dans un fichier qui se nomme «  passwd  ». Ce fichier se trouve dans le répertoire /etc[1]. Comme exemple, prenons un usager qui s'appelerait « laforge ». Voici la ligne dans le fichier /etc/passwd qui corresponderait à son compte:

laforge:VByALL2dcWRFA:501:100:Laforge Normand:/home/laforge:/bin/tcsh
Cette entrée est divisée en champs séparés par des caractères « : » dont voici la signification.

laforge : c'est le nom d'usager (« login name »). Ce champs est utilisé par le système pour reconnaître la personne et ainsi contrôler ses permissions d'accès à des fichiers ou des services. Contrairement à la vie réelle, ce nom doit être unique sur la machine ou même sur le réseau local dans la plupart des cas. Le détenteur d'un compte doit être identifié sans ambiguité par le système pour des raisons de sécurité, de gestion et de communication. Par convention, le nom d'usager est toujours formé de lettre minuscules et/ou de chiffres[2].

VByALL2dcWRFA : il s'agit d'une représentation encodée du mot de passe (« password ») du compte en question. Celui que l'usager entre au clavier est encodé à l'aide d'une fonction (dont l'inverse est supposément impossible à établir...) et comparé avec ce champ. Donc pour accéder au compte de « laforge » sur la machine en question, il suffit de connaître son nom d'usager et son mot de passe. Il est à noter que le système fait la distinction entre les majuscules et les minuscules donc les lettres « A » et « a » ne sont pas les mêmes lettres lorsqu'on tape son mot de passe au clavier (Pour plus de renseignements, voir le chapitre « Sécurité »).

501 : c'est le numéro d'identification de l'usager (« user id »). Il est utile au système, car il fait correspondre ce numéro à un compte pour gérer les accès. Par exemple, dans les inodes du système de fichiers, on retrouve ce numéro dans le champ qui représente le propriétaire.

100 : chaque usager fait partie d'un groupe. Ce concept est utile quand on veut donner certaines permissions particulières à des personnes qui travaillent sur un projet et qui doivent avoir accès à certains fichiers, par exemple. La notion de groupe permet de classer les types d'usagers avec les permissions qui s'y rattachent. Le système Unix fait correspondre le compte à un groupe avec ce numéro. Ce chiffre est celui qui est présent dans les inodes et qui représente le groupe auquel le fichier appartient.

Laforge Normand : c'est le nom du détenteur du compte. Ce champ peut également contenir d'autres informations comme le bureau de l'usager (son numéro, par exemple), son numéro de téléphone au bureau et à la maison. Ces sous-champs seraient alors séparés par des virgules.

/home/laforge : c'est le répertoire privé de l'usager. C'est aussi le répertoire de travail par défaut lorsqu'on ouvre une session de travail « logging in ».

/bin/tcsh : pour terminer, le dernier champ représente l'interpréteur de commandes (voir le chapitre sur ce sujet) par défaut (« login shell ») qui est lancé à l'ouverture d'une session de travail.

L'organisation du fichier /etc/passwd pourrait être différente sur certaines machines où le système de « shadow password » ou NIS est installé. Ces systèmes ne seront pas expliqués dans ce manuel mais servent respectivement à augmenter la sécurité et à distribuer l'information sur un réseau.

4.2 L'administrateur du système

Toutes les machines Unix ont une entrée dans le fichier /etc/passwd qui correspond à l'usager « root ». C'est l'administrateur du système. Il ne faut pas le confondre avec le répertoire qui est parent de tous les fichier et qui porte aussi le nom de « root », représenté par le caractère « / ». L'usager « root » a tous les droits possibles sur l'ordinateur et peut créer ou détruire des fichiers ou des comptes entiers. Il est aussi la personne ressource en cas de problèmes comme l'oubli d'un mot de passe, par exemple. C'est aussi lui qui fait la sauvegarde des données, l'installation de logiciels, etc.

4.3 Le répertoire privé « home directory »

Comme mentionné plus haut, tous les comptes sont associés à un répertoire privé. L'usager est libre de gérer son répertoire comme il l'entend. Il peut ainsi créer une arborescence de fichiers et de répertoires à partir de son répertoire personnel. L'espace disque utilisé peut être limité par la capacité du disque ou par un système de quota. Un système de quota est un outil de gestion qui existe pour empêcher les abus et qui est géré par l'usager « root ». L'administrateur peut ainsi (grâce au quota) décider que l'espace disque maximal utilisé par un usager précis sera d'un certain nombre d'octets.

4.4 Ouvrir une session « logging in »

Pour ouvrir une session, l'usager doit entrer son nom d'usager et mot de passe. Voici un exemple d'ouverture de session par l'usager « heidi ».

Welcome to Linux 1.4.5.
psycho login: heidi
Password:
Last login: Tue Jan 16 12:08:23 from risc22.lab1unix.polymtl.ca

Message du jour

Bonjour,
bienvenue sur psycho.institute.org ************************************************************************************
La nouvelle imprimante HP postcript peut être utilisée avec la commande:
lpr -Phollerith nom_du_fichier.ps ************************************************************************************
N'oubliez pas de fermer les lumières lorsque vous êtes le dernier à quitter le local.
Votre admin -->> root

psycho[5:13pm]: ~ > _

Noter que le mot de passe n'est pas affiché à l'écran. Heidi a entré son nom « heidi » et a appuyé sur la touche ENTER. Quand le système a affiché le mot « Password », elle l'a entré et a appuyé à nouveau sur la touche ENTER. À ce moment, le système lui donne de l'information sur sa dernière session et affiche le message du jour (ce message est contenu dans le fichier /etc/motd). Pour terminer, heidi reçoit l'invite de commande (« prompt ») lui indiquant que le système est prêt et en attente.

Si l'usager fait une erreur losrqu'il entre son mot de passe ou son nom d'usager, l'ordinateur affichera une message du genre « Login Incorrect ». En fait, ce message indique que le système est incapable de trouver de ligne du fichier /etc/passwd correspondant à ces deux informations (nom d'usager et mot de passe). À ce moment, il faut réessayer quelques fois en s'assurant de respecter les majuscules et les minuscules. Si le problème persiste, il faut consulter la personne en charge (« root »).

4.5 Fermer une session de travail « logging out »

Avant de quitter un ordinateur, il faut TOUJOURS fermer sa session de travail. Pour cela, il suffit d'entrer la commande « logout » [3] comme dans l'exemple suivant:

psycho[5:16pm]: ~ >logout
Welcome to Linux 1.4.5.
psycho login:

Il est certain que votre session de travail est fermée lorsque vous voyez que Unix invite une personne à ouvrir une session avec le mot « login: ». Oublier de fermer sa session pourrait avoir des conséquences graves au point de vue sécurité. Il est aussi possible dans plusieurs cas d'entrer d'autres commandes comme « exit » ou CTRL-d pour terminer une session.

Si l'usager est incapable de fermer sa session et que l'ordinateur affiche un message à l'écran du genre « There are suspended jobs », il faut se référer au chapitre « Processus et contrôle ». Ce message veut dire qu'il y a des processus qui sont suspendus et qui sont en arrière plan « background » (Voir le chapitre « Processus et contrôle »). Pour s'en sortir rapidement, on peut essayer la commande « kill -9 -1 ».

Chapitre 3. Comptes et accès

[ Table | Début de page ]

[1] Chaque ligne de ce fichier correspond à un compte.
[2] Plus souvent des lettres minuscules uniquement.
[3] Cette commande n'est pas suffisante si l'ordinateur est déjà dans l'environnement X Window avant d'ouvrir une session de travail.