login(1) Démarrer une session sur le système

SYNOPSIS

login [-p] [-h hôte] [nom_utilisateur] [ENV=VAR...]
login [-p] [-h hôte] -f nom_utilisateur
login [-p] -r hôte

DESCRIPTION

Le programme login permet d'établir une nouvelle session sur le système. Il est généralement invoqué après avoir répondu à l'invite de connexion login: sur le terminal de l'utilisateur. login peut être spécifique à l'interpréteur de commandes et ne devrait pas être invoqué comme un sous-processus. Lorsqu'il est appelé depuis un interpréteur de commande, login doit être exécuté comme >exec login, ce qui entraîne la sortie de l'interpréteur de commandes en cours (et ainsi empêche le nouvel utilisateur connecté de retourner à la session de l'appelant). L'exécution de login depuis un interpréteur de commandes autre qu'un interpréteur de commandes initial (« login shell ») produira un message d'erreur.

Un mot de passe est ensuite demandé à l'utilisateur. L'affichage du mot de passe est désactivé pour éviter de révéler le mot de passe. Seul un petit nombre d'échecs est permis avant que login ne quitte et que la liaison ne soit interrompue.

Si une date de fin de validité du mot de passe a été définie pour ce compte, un nouveau mot de passe pourra vous être demandé. Votre ancien mot de passe et votre nouveau mot de passe vous seront alors demandés avant de pouvoir continuer. Veuillez lire la page de manuel passwd(1) pour plus d'informations.

Vos identifiants d'utilisateur et de groupe seront définis en fonction des valeurs spécifiées dans le fichier /etc/passwd. Les valeurs des variables d'environnement $HOME, $SHELL, $PATH, $LOGNAME, et $MAIL seront définies en fonction des champs appropriés de l'entrée qui vous correspond. Les valeurs d'ulimit, d'umask et de nice pourront également être affectées en fonction des entrées du champ GECOS.

Sur certains systèmes, la variable d'environnement $TERM sera initialisée au type de terminal de votre tty, comme spécifié dans /etc/ttytype.

Un script d'initialisation pour votre interpréteur de commandes pourra également être exécuté. Veuillez vous référer à la section de manuel appropriée pour plus d'informations sur cette fonctionnalité.

Une connexion à un sous-système est indiquée par la présence d'un « * » comme premier caractère de l'interpréteur de commandes initial. Le répertoire personnel sera utilisé comme racine d'un nouveau système de fichiers dans lequel l'utilisateur sera connecté.

Le programme login n'est PAS responsable de la suppression d'utilisateurs dans le fichier utmp. Les responsables du nettoyage de l'appartenance des sessions de terminal sont getty(8) et init(8). Si vous utilisez login depuis un interpréteur de commandes sans exec, l'utilisateur que vous utilisez continuera à apparaître comme étant connecté même après s'être déconnecté de cette « sous-session ».

OPTIONS

-f

Ne pas réaliser d'authentification. L'utilisateur est pré-authentifié.

Remarque : Dans ce cas, username est nécessaire.

-h

Nom de l'hôte distant pour cette connexion.

-p

Préserver l'environnement.

-r

Exécuter le protocole de connexion automatique (autologin) pour rlogin.

Les options -r, -h et -f ne peuvent être utilisées que par root.

AVERTISSEMENTS

Cette version de login comporte de nombreuses options de compilation. Seules certaines d'entre elles peuvent avoir été activées sur votre site.

L'emplacement des fichiers peut varier suivant la configuration du système.

Le programme login n'est PAS responsable de la suppression d'utilisateurs dans le fichier utmp. Les responsables du nettoyage de l'appartenance des sessions de terminal sont getty(8) et init(8). Si vous utilisez login depuis un interpréteur de commandes sans exec, l'utilisateur que vous utilisez continuera à apparaître comme étant connecté même après s'être déconnecté de cette « sous-session ».

Comme pour n'importe quel programme, l'apparence de login peut être imitée. Si des utilisateurs non sûrs ont un accès physique à la machine, un attaquant pourrait utiliser cet accès pour obtenir le mot de passe de la personne qui s'assiérait ensuite face à l'écran. Sous Linux, le mécanisme SAK peut être utilisé par les utilisateurs pour initier un chemin de confiance et prévenir ce genre d'attaques.

CONFIGURATION

Les variables de configuration suivantes dans /etc/login.defs modifient le comportement de cet outil :

CONSOLE_GROUPS (chaîne de caractères)

Une liste de groupes à rajouter aux groupes supplémentaires de l'utilisateur lors d'une connexion sur une console (déterminé par le paramètre CONSOLE). Par défaut, aucun groupe n'est ajouté.

À utiliser avec précaution : il est possible que les utilisateurs aient un accès permanent à ces groupes, et cela même s'ils ne sont pas connectés sur la console.

DEFAULT_HOME (booléen)

Indiquer si la connexion est permise si on ne peut pas accéder au répertoire personnel. Le réglage par défaut est « no ».

Si elle est configurée à yes, l'utilisateur va se connecter dans le répertoire racine (/) s'il n'est pas possible d'accéder à son répertoire personnel.

ENV_PATH (chaîne de caractères)

Si définie, sera utilisée pour définir la variable d'environnement PATH quand un utilisateur ordinaire se connecte. La valeur est une liste de chemins séparés par des deux points (par exemple /bin:/usr/bin) et peut être précédée par PATH=. La valeur par défaut est PATH=/bin:/usr/bin.

ENV_SUPATH (chaîne de caractères)

Si définie, sera utilisée pour définir la variable d'environnement PATH quand le super-utilisateur se connecte. La valeur est une liste de chemins séparés par deux points (par exemple /sbin:/bin:/usr/sbin:/usr/bin) et peut être précédée par PATH=. La valeur par défaut est PATH=/sbin:/bin:/usr/sbin:/usr/bin.

ERASECHAR (nombre)

Le caractère ERASE du terminal (010 = backspace, 0177 = DEL).

La valeur peut être préfixée par « 0 » pour une valeur octale, ou « 0x » pour une valeur hexadécimale.

FAIL_DELAY (nombre)

Le délai en secondes avant qu'un nouvel essai soit permis après un échec de connexion.

FAKE_SHELL (chaîne de caractères)

Si définie, login exécutera cet interpréteur de commandes au lieu de l'interpréteur de l'utilisateur spécifié dans /etc/passwd.

HUSHLOGIN_FILE (chaîne de caractères)

Si définie, le fichier peut désactiver tous les affichages habituels durant la séquence de connexion. Si un nom de chemin complet est spécifié, alors le mode taiseux sera activé si le nom ou l'interpréteur de commandes de l'utilisateur sont trouvés dans le fichier. Si ce n'est pas un nom de chemin complet, alors le mode taiseux sera activé si le fichier existe dans le répertoire personnel de l'utilisateur.

KILLCHAR (nombre)

Le caractère KILL du terminal (025 = CTRL/U).

La valeur peut être préfixée par « 0 » pour une valeur octale, ou « 0x » pour une valeur hexadécimale.

LOGIN_RETRIES (nombre)

Le nombre maximum de tentatives de connexion en cas de mauvais mot de passe.

Ce sera probablement écrasé par PAM, puisque le module pam_unix est réglé en dur pour n'effectuer que 3 tentatives. Toutefois, il s'agit d'une solution de repli au cas où vous utilisez un module d'authentification qui ne fait pas appliquer PAM_MAXTRIES.

LOGIN_TIMEOUT (nombre)

Le temps maximum en secondes pour la connexion.

LOG_OK_LOGINS (booléen)

Activer la journalisation des connexions réussies.

LOG_UNKFAIL_ENAB (booléen)

Activer l'affichage des noms d'utilisateurs inconnus quand les échecs de connexions sont enregistrés.

Remarque : la journalisation des noms d'utilisateurs inconnus peut être un problème de sécurité si un utilisateur entre son mot de passe au lieu de son nom d'utilisateur.

TTYGROUP (chaîne de caractères), TTYPERM (chaîne de caractères)

Les permissions de terminal : la connexion tty appartiendra au groupe TTYGROUP et les permissions seront configurées à TTYPERM.

Par défaut, le propriétaire du terminal est configuré au groupe primaire de l'utilisateur et les permissions sont configurées à 0600.

TTYGROUP peut être le nom d'un groupe ou un identifiant numérique de groupe.

Si vous avez un programme write qui est « setgid » à un groupe spécial auquel les terminaux appartiennent, définissez TTYGROUP comme l'identifiant numérique du groupe et TTYPERM à 0620. Autrement laissez TTYGROUP décommenté et TTYPERM configuré soit à 622 soit à 600.

TTYTYPE_FILE (chaîne de caractères)

Si définie, fichier qui lie les lignes de tty à la variable d'environnement TERM. Chaque ligne du fichier est dans un format ressemblant à « vt100 tty01 ».

USERGROUPS_ENAB (booléen)

Si cette variable est configurée à yes, userdel supprimera le groupe de l'utilisateur s'il ne contient pas d'autres membres, et useradd créera par défaut un groupe portant le nom de l'utilisateur.

FICHIERS

/var/run/utmp

Liste des sessions de connexion en cours.

/var/log/wtmp

Liste des sessions de connexion précédentes.

/etc/passwd

Informations sur les comptes des utilisateurs.

/etc/shadow

Informations sécurisées sur les comptes utilisateurs.

/etc/motd

Fichier contenant le message du système.

/etc/nologin

Empêcher les utilisateurs non-root de se connecter.

/etc/ttytype

Liste des types de terminaux.

$HOME/.hushlogin

Supprimer l'affichage des messages du système.

/etc/login.defs

Configuration de la suite des mots de passe cachés « shadow password ».