next up previous contents Next: set user, la commande Up: Connexion utilisateur. Previous: Connexion utilisateur.   Table des matières  


12.7.1 La commande login.

Un utilisateur accède le plus souvent au système via le programme login. Ce programme analyse l'IUD et le GID à partir des fichiers passwd et group, puis il authentifie l'utilisateur.

Ce qui suit est extrait de la page de man de login, et détaille la méthode:

login est utilisé lorsqu'on s'engage sur un système. Il peut aussi être utilisé pour basculer d'un utilisateur à un autre à tout moment (la plupart des shells modernes possèdent cette fonctionnalité).

Si aucun argument n'est passé, login s'adresse à l'utilisateur.

Si l'utilisateur n'est pas root, et si /etc/nologin existe, le contenu de ce fichier est affiché à l'écran et la connexion se termine. C'est typiquement le cas pour prévenir les connexions lorsque le système est en cours de démontage.

Si des restrictions spéciales d'accès sont spécifiées, à l'endroit de l'utilisateur dans /etc/usertty, celles-ci doivent être respectées, ou alors, la tentative de connexion avortera et un message de syslog sera produit [syslog écrit tous les messages du système dans le fichier /var/log/messages]. Voir la section ``Special Access Restrictions''.

Si l'utilisateur est root, la connexion peut avoir lieu sur un tty listé dans /etc/securetty [Si ce fichier n'est pas présent, les connexions du superutilisateur seront permises n'importe où. Il est pertinent de supprimer ce fichier si votre machine est protégée par un pare-feu (firewall) et que vous souhaitez vous connectez aisément à partir d'une autre machine de votre réseau LAN. Si /etc/securetty est présent les connexions seront seulement utilisées pour les terminaux que ce fichier définit]. Les échecs seront consignés via syslog.

Après que ces conditions aient été testées, le mot de passe sera demandé et vérifié (si un mot de passe est requis pour l'utilisateur). Dix essais sont autorisés avant que la connexion ne s'interrompe, mais après les trois premiers essais, la réponse devient plus lente. Les échecs de connexion sont consignés via syslog. Cette fonctionnalité permet aussi de mentionner les connexions réussies du superutilisateur.

Si le fichier .hushlogin existe, une connexion ``douce'' est réalisée (elle désactive la vérification des messages électroniques et l'affichage de la date de dernière connexion et du message du jour). Autrement, si /var/log/lastlog existe, la date de dernière connexion est affichée et la connexion courante est enregistrée.

Les tâches d'administration comme la mise en place de l'UID et du GID d'un tty sont réalisées. La variable d'environnement TERM est préservée, si elle existe (les autres variables d'environnement sont préservées si l'option -p est utilisée). Les variables d'environnement HOME, PATH, SHELL, TERM, MAIL et LOGNAME sont créées. Par défaut, la variable PATH concerne les utilisateurs normaux, /usr/local/bin:/bin:/usr/bin:. [notez que le . qui représente le répertoire courant est repris dans PATH] et/sbin:/bin:/usr/sbin/usr/bin pour le superutilisateur. Enfin, s'il n'y a pas de connexion douce, le message du jour est affiché et le fichier contenant le nom de l'utilisateur dans /usr/spool/mail est vérifié. Si sa taille n'est pas nulle, un message est affiché.

Le shell d'utilisateur est alors démarré. Si aucun shell n'est spécifié dans /etc/passwd,/bin/sh est utilisé. S'il n'y a pas de répertoire déclaré dans /etc/passwd, / est utilisée (une vérification est réalisée pour s'assurer que le répertoire personnel contient le fichier .hushlogin).


next up previous contents Next: set user, la commande Up: Connexion utilisateur. Previous: Connexion utilisateur.   Table des matières  
1-01-2006