Scroll to navigation

AGETTY(8) Administration Système AGETTY(8)

NOM

agetty - getty alternatif pour Linux

SYNOPSIS

agetty [options] port [baud_rate...] [term]

DESCRIPTION

agetty opens a tty port, prompts for a login name and invokes the /bin/login command. It is normally invoked by init(8).

agetty has several non-standard features that are useful for hardwired and for dial-in lines:

•Adapter la configuration du terminal aux bits de parité et aux caractères supprimer, tuer, fin de ligne et majuscules lors de la lecture de l’identifiant de connexion. Le programme peut gérer les caractères 7 bits avec une parité paire, impaire, aucune ou parité 0 et les caractères 8 bits sans parité. Les caractères spéciaux suivants sont reconnus : « Ctrl-U » (tuer) ; suppression et espace arrière (supprimer) ; retour chariot et changement de ligne (fin de ligne). Consultez également les options --erase-chars et --kill-chars.

•Option pour trouver la vitesse en baud des messages CONNECT produits par les modems Hayes™ ou compatibles.

•Option pour ne pas raccrocher quand il y a déjà une ligne ouverte (utile pour les applications avec rappel).

•Option pour ne pas afficher le contenu du fichier /etc/issue.

•Option pour afficher un autre fichier ou répertoire issue à la place de /etc/issue ou /etc/issue.d.

•Option pour ne pas demander de nom d’utilisateur.

•Option pour appeler un programme de connexion non standard au lieu de /bin/login.

•Option pour activer le contrôle matériel de flux.

•Option pour forcer la ligne à être locale sans nécessité de détection de porteuse.

Ce programme n’utilise pas les fichiers /etc/gettydefs (Système V) ou /etc/gettytab (SunOS 4).

ARGUMENTS

port

Un nom de chemin relatif au répertoire /dev. Si un « - » est utilisé, agetty suppose que son entrée standard est déjà connectée à un port de terminal et que la connexion à un utilisateur distant est déjà établie.

Sous Système V, un paramètre port avec la valeur « - » doit être précédé de « -- ».

taux_baud,...

Une liste de vitesses en baud séparées par des virgules. Chaque fois que agetty reçoit un caractère BREAK, il avance dans la liste qui sera considérée comme une liste circulaire.

Les vitesses devraient être indiquées en ordre décroissant, de telle sorte que l’octet NULL final (Ctrl-@) puisse être utilisé pour changer de vitesse.

Cet argument est facultatif et inutile pour les terminaux virtuels.

La valeur par défaut pour les terminaux série est de conserver la vitesse actuelle (consultez --keep-baud) et en cas d’insuccès, la valeur par défaut « 9600 ».

term

La valeur à utiliser pour la variable d’environnement TERM. Cela surcharge toute valeur positionnée par init(1) et est héritée par la connexion et l’interpréteur de commandes.

La valeur par défaut est « vt100 » ou « linux » pour Linux sur un terminal virtuel ou « hurd » pour le GNU Hurd sur un terminal virtuel.

OPTIONS

-8, --8bits

Supposer que le terminal gère les caractères 8 bits, désactiver de ce fait la détection de parité.

-a, --autologin nom_utilisateur

Connecter automatiquement l’utilisateur indiqué sans demander un identifiant ou un mot de passe. Utiliser cette option fait que l’option et l’argument -f nom_utilisateur sont ajoutés à la ligne de commande de /bin/login. Consultez --login-options qui peut être utilisée pour modifier le comportement de cette option.

Remarquez que --autologin peut affecter la façon dont agetty initialise une ligne série, car lors d’une connexion automatique agetty ne lit pas à partir de la ligne et n’a aucune opportunité d’optimisation des réglages de la ligne.

-c, --noreset

Ne pas réinitialiser les cflags du terminal (modes de contrôle). Consultez termios(3) pour plus de précisions.

-E, --remote

Classiquement, la commande login(1) est fournie avec un non d’hôte distant lorsqu’elle est appelée par quelque chose comme telnetd(8). Cette option permet à agetty de passer ce qu’il utilise comme nom d’hôte à login(1) pour une utilisation dans utmp(5). Consultez --host, login(1) et utmp(5).

Si une option --host hôte_factice est donnée, alors une option -h hôte_factice est ajoutée à la ligne de commande /bin/login.

Si l’option --nohostname est fournie, alors une option -H est ajoutée à la ligne de commande /bin/login.

Consultez --login-options.

-f, --issue-file chemin

Specifies a ":" delimited list of files and directories to be displayed instead of /etc/issue (or other). All specified files and directories are displayed, missing or empty files are silently ignored. If the specified path is a directory then display all files with .issue file extension in version-sort order from the directory. This allows custom messages to be displayed on different terminals. The --noissue option will override this option.

--show-issue

Display the current issue file (or other) on the current terminal and exit. Use this option to review the current setting, it is not designed for any other purpose. Note that output may use some default or incomplete information as proper output depends on terminal and agetty command line.

-h, --flow-control

Activer le contrôle matériel de flux (RTS/CTS). L’application est libre de désactiver le contrôle logiciel de flux (XON/XOFF) quand elle le juge opportun.

-H, --host hôte_factice

Écrire l’hôte de connexion hôte_factice indiqué dans le fichier utmp. Normalement, aucun hôte de connexion n’est fourni, puisque agetty est utilisé pour les connexions filaires locales et les terminaux du système. Cependant, cette option peut être utile pour identifier les concentrateurs de terminaux et matériels similaires.

-i, --noissue

Ne pas afficher le contenu de /etc/issue (ou autre) avant d’écrire l’invite de connexion. Les terminaux ou le matériel de communication peuvent ne pas fonctionner normalement lorsqu’ils reçoivent beaucoup de texte à une mauvaise vitesse ; les scripts de connexion peuvent échouer si l’invite de connexion est précédée par beaucoup trop de texte.

-I, --init-string chaîne_initiale

Définir une chaîne_initiale à envoyer au terminal ou au modem avant d’envoyer des données utiles. Cela peut être utilisé pour initialiser un modem. Les caractères non imprimables peuvent être envoyés en utilisant leur code octal précédé d’une barre oblique inversée (\). Par exemple, pour envoyer le caractère de changement de ligne (ASCII 10, dont le code octal est 012), il faut envoyer « \12 ».

-J, --noclear

Ne pas effacer l’écran avant de demander l’identifiant de connexion. Par défaut, l’écran est effacé.

-l, --login-program programme_connexion

Appeler le programme de connexion programme_connexion à la place de /bin/login. Cela permet d’utiliser un programme de connexion non standard. Un tel programme, par exemple, peut demander un mot de passe lors de l’établissement de la connexion ou utiliser un fichier de mot de passe différent. Consultez --login-options.

-L, --local-line[=mode]

Control the CLOCAL line flag. The optional mode argument is auto, always or never. If the mode argument is omitted, then the default is always. If the --local-line option is not given at all, then the default is auto.

always

Le mode always force la ligne à être une ligne locale sans détection de porteuse. C’est utile pour un terminal connecté localement dont la ligne série n’utilise pas le signal « détection de porteuse ».

never

Le mode never efface explicitement l’attribut CLOCAL de la configuration de la ligne et le signal « détection de porteuse » est attendu sur la ligne.

auto

La valeur par défaut pour agetty. Cela ne modifie pas la configuration CLOCAL et suit la configuration activée par le noyau.

-m, --extract-baud

Essayer d’extraire la vitesse depuis le message d’état CONNECT produit par les modems compatibles Hayes™. Ces messages d’état sont de la forme suivante : « <bruit><vitesse><bruit> ». agetty suppose que le modem envoie les messages d’état à la même vitesse que celle indiquée (la première) par taux_baud sur la ligne de commande.

Puisque la fonctionnalité --extract-baud peut échouer sur des systèmes lourdement chargés, vous devriez activer le traitement de BREAK en énumérant toutes les vitesses attendues sur la ligne de commande.

--list-speeds

Afficher les vitesses prises en charge. Elles sont déterminées au moment de la compilation.

-n, --skip-login

Ne pas demander d’identifiant de connexion à l’utilisateur. Cela peut être utilisé avec l’option --login-program lors d’une procédure de connexion non standard comme les systèmes BBS. Remarquez qu’avec l’option --skip-login, agetty ne reçoit pas de saisie de l’utilisateur qui se connecte et donc n’est pas capable de détecter la parité, la taille des caractères ni le processus de nouvelle ligne de la connexion. La configuration par défaut est : parité 0, caractères 7 bits et le caractère fin de ligne est le retour chariot RC en ASCII (13). Assurez vous que le programme lancé par agetty (en général, /bin/login) est exécuté avec les droits du superutilisateur.

-N, --nonewline

Ne pas ajouter de changement ligne avant d’écrire /etc/issue.

-o, --login-options options_connexion

Options et arguments passés à login(1), où \u est remplacé par le nom de connexion. Par exemple :

--login-options '-h darkstar -- \u'

Consultez --autologin, --login-program et --remote.

Please read the SECURITY NOTICE below before using this option.

-p, --login-pause

Attendre une action sur une touche avant de basculer vers l’invite de connexion. Cela peut être combiné avec --autologin pour économiser de la mémoire avec les interpréteurs de commandes lents à relancer.

-r, --chroot répertoire

Modifier la racine vers le répertoire indiqué.

-R, --hangup

Appeler vhangup(2) pour faire un raccrochage virtuel du terminal indiqué.

-s, --keep-baud

Essayer de conserver la vitesse existante. Les vitesses reçues sur la ligne de commande sont utilisées quand agetty reçoit un caractère BREAK. Si d’autres vitesses sont indiquées, alors la vitesse originale est aussi enregistrée à la fin de la liste des vitesses désirées. Cela peut être utilisé pour retourner à la vitesse originale après des BREAK inattendus.

-t, --timeout délai

Quitter si aucun nom d’utilisateur n’a pu être lu pendant le délai exprimé en seconde. Cette option ne devrait pas être utilisée pour les lignes filaires de terminaux.

-U, --detect-case

Activer la détection des terminaux à caractères majuscules seuls. Cela ne détectera qu’un identifiant de connexion ne possédant que des caractères majuscules et activera des opérations de conversions de casse majuscules vers minuscules. Cette option ne gère aucun caractère Unicode.

-w, --wait-cr

Attendre que l’utilisateur ou le modem envoient un caractère retour à la ligne ou nouvelle ligne avant d’envoyer le fichier /etc/issue (ou autres) et l’invite de connexion. Cela est très utile lors de connexions avec l’option --init-string.

--nohints

Ne pas afficher de conseils sur le verrouillage numérique ou majuscules ni sur l’arrêt de défilement.

--nohostname

By default the hostname will be printed. With this option enabled, no hostname at all will be shown. This setting is also possible to able by LOGIN_PLAIN_PROMPT option in the /etc/login.defs configuration file (see below for more details).

--long-hostname

Par défaut, le nom d’hôte n’est affiché que jusqu’au premier point. En activant cette option, le nom d’hôte pleinement qualifié par gethostname(3P), ou (si non trouvé) par getaddrinfo(3), est montré.

--erase-chars chaîne

Cette option indique des caractères supplémentaires à interpréter comme une espace arrière (« ignorer le caractère précédent ») lorsque l’utilisateur saisit l’identifiant de connexion. Le caractère supplémentaire d’« effacement » par défaut était « # », mais depuis util-linux 2.23, aucun caractère supplémentaire d’effacement n’est activé par défaut.

--kill-chars chaîne

Cette option indique des caractères supplémentaires à interpréter pour tuer (« ignorer tous les caractères précédents ») lorsque l’utilisateur saisit l’identifiant de connexion. Le caractère supplémentaire « pour tuer » par défaut était « @ », mais depuis util-linux 2.23, aucun caractère supplémentaire pour tuer n’est activé par défaut.

--chdir répertoire

Changer de répertoire avant la connexion.

--delay nombre

Temps de sommeil, en seconde, avant d’ouvrir le tty.

--nice nombre

Exécuter la connexion avec cette priorité.

--reload

Ask all running agetty instances to reload and update their displayed prompts, if the user has not yet commenced logging in. After doing so the command will exit. This feature might be unsupported on systems without Linux inotify(7).

-h, --help

Afficher l’aide-mémoire puis quitter.

-V, --version

Afficher le numéro de version et quitter.

ÉLÉMENTS DU FICHIER DE CONFIGURATION

agetty reads the /etc/login.defs configuration file (see login.defs(5)). Note that the configuration file could be distributed with another package (usually shadow-utils). The following configuration items are relevant for agetty:

LOGIN_PLAIN_PROMPT (booléen)

Tell agetty that printing the hostname should be suppressed in the login: prompt. This is an alternative to the --nohostname command line option. The default value is no.

EXEMPLE

Cette section présente des exemples pour le champ processus d’une entrée dans le fichier /etc/inittab. Vous devrez faire précéder les autres champs par les valeurs appropriées. Consultez inittab(5) pour plus de précisions.

Pour une ligne câblée ou une console tty :

/sbin/agetty 9600 ttyS1

Pour un terminal connecté directement sans câblage avec signal « détection de porteuse ». Utilisez ceci si le terminal se met en veille au lieu de demander un mot de passe :

/sbin/agetty --local-line 9600 ttyS1 vt100

Pour une ligne avec un vieux modem acceptant les vitesses de 9600, 2400 et 1200 bauds :

/sbin/agetty --extract-baud --timeout 60 ttyS1 9600,2400,1200

Pour un modem Hayes avec une vitesse fixe de 115\ 200 bauds (la chaîne d’initialisation de l’exemple désactive l’écho du modem et les codes de retour, fait que le signal DCD du modem/ordinateur suive le signal DCD du modem distant, fait que la disparition du signal DTR provoque une déconnexion et active l’autoréponse après une sonnerie) :

/sbin/agetty --wait-cr --init-string 'ATE0Q1&D2&C1S0=1\015' 115200 ttyS1

AVIS DE SÉCURITÉ

If you use the --login-program and --login-options options, be aware that a malicious user may try to enter lognames with embedded options, which then get passed to the used login program. agetty does check for a leading "-" and makes sure the logname gets passed as one parameter (so embedded spaces will not create yet another parameter), but depending on how the login binary parses the command line that might not be sufficient. Check that the used login program cannot be abused this way.

Certains programmes utilisent -- pour indiquer que la suite de la ligne de commande ne devrait pas être interprétée en tant qu’options. Utilisez cette fonctionnalité si elle est disponible en passant « -- » avant que le nom d’utilisateur ne soit passé par \u.

FICHIERS ISSUE

Le fichier issue par défaut est /etc/issue. Si le fichier existe, alors agetty recherche aussi pour un répertoire /etc/issue.d. Le répertoire est une extension facultative au fichier issue par défaut et le contenu du répertoire est écrit après le contenu de /etc/issue. Si /etc/issue n’existe pas, alors le répertoire est ignoré. Tous les fichiers avec une extension .issue du répertoire sont écrits triés selon les versions. Le répertoire peut être utilisé pour gérer indépendamment les messages de parties tierces dans le fichier principal /etc/issue du système.

Depuis la version 2.35 des emplacements supplémentaires pour des fichiers et répertoires issue sont gérés. Si le fichier par défaut /etc/issue n’existe pas, alors agetty recherche /run/issue et /run/issue.d, ensuite /usr/lib/issue et /usr/lib/issue.d. Le répertoire /etc est attendu pour une configuration spécifique à l’hôte, le répertoire /run est attendu pour ce qui est généré et le fichier /usr/lib pour la configuration statique de la distribution.

Le chemin par défaut peut être écrasé avec l’option --issue-file. Dans ce cas, le chemin précisé doit être un fichier ou un répertoire et tous les emplacements par défaut de fichier ou répertoire sont ignorés.

La fonctionnalité du fichier issue peut être désactivée complètement avec l’option --noissue.

Il est possible d’examiner le fichier issue en cours avec agetty --show-issue sur le terminal en cours.

Les fichiers issue peuvent contenir certains codes d’échappement afin d’afficher le nom du système, la date, l’heure, etc. Tous les codes d’échappement sont formés d’une barre oblique inversée (\) immédiatement suivie par l’une des caractères suivants.

4 ou 4{interface}

Insert the IPv4 address of the specified network interface (for example: \4{eth0}). If the interface argument is not specified, then select the first fully configured (UP, non-LOCALBACK, RUNNING) interface. If no configured interface is found, fall back to the IP address of the machine’s hostname.

6 ou 6{interface}

Comme \4, mais pour l’IPv6.

b

Insérer la vitesse en baud de la ligne actuelle.

d

Insérer la date actuelle.

e ou e{nom}

Transformer le nom lisible avec une séquence d’échappement et l’insérer (par exemple, \e{red}Alert text.\e{reset}). Si l’argument nom n’est pas indiqué, alors insérer \033. Les noms actuellement gérés sont black, blink, blue, bold, brown, cyan, darkgray, gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen, lightmagenta, lightred, magenta, red, reset, reverse, yellow et white. Tous les noms inconnus sont ignorés silencieusement.

s

Insérer le nom du système (le nom du système d’exploitation). Identique à uname -s. Consultez également le code d’échappement \S.

S ou S{VARIABLE}

Insérer la donnée VARIABLE de /etc/os-release. Si le fichier n’existe pas, /usr/lib/os-release est alors utilisé. Si l’argument VARIABLE n’est pas indiqué, alors utiliser PRETTY_NAME du fichier ou le nom du système (consultez \s). Ce code d’échappement permet de garder les /etc/issue de la distribution et de la publication indépendants. Remarquez que \S{ANSI_COLOR} est convertie en séquence réelle d’échappement du terminal.

l

Insérer le nom de la ligne tty actuelle.

m

Insérer l’identifiant de l’architecture de la machine. Identique à uname -m.

n

Insérer le nom de nœud de la machine, aussi appelé nom d’hôte. Identique à uname -n.

o

Insérer le nom de domaine NIS de la machine. Identique à hostname -d.

O

Insérer le nom de domaine DNS de la machine.

r

Insérer le numéro de version du système d’exploitation. Identique à uname -r.

t

Insérer l’heure actuelle.

u

Insérer le nombre d’utilisateurs actuellement connectés.

U

Insérer la chaîne « 1 utilisateur » ou « <n> utilisateurs » où <n> est le nombre d’utilisateurs actuellement connectés.

v

Insérer la version du système d’exploitation, par exemple sa date de construction, etc.

Par exemple, si le fichier /etc/issue contient :

Voici \n.\o (\s \m \r) \t

il pourrait afficher :

Voici thingol.orcan.dk (Linux i386 1.1.9) 18:29:30

FICHIERS

/var/run/utmp

fichier d’état du système

/etc/issue

affichage avant l’invite de connexion

/etc/os-release /usr/lib/os-release

données d’identification du système d’exploitation

/dev/console

rapports de problème (si syslog(3) n’est pas utilisée)

/etc/inittab

init(8) configuration file for SysV-style init daemon.

CREDENTIALS

agetty supports configuration via systemd credentials (see <https://systemd.io/CREDENTIALS/>). agetty reads the following systemd credentials:

agetty.autologin (string)

If set, configures agetty to automatically log in the specified user without asking for a username or password, similarly to the --autologin option.

BOGUES

La détection de la vitesse de connexion (l’option --extract-baud) nécessite que agetty soit exécuté dès le début de l’appel réseau (dans les 30 ms pour un modem communiquant à 2400 bauds). Pour être robuste, utilisez toujours l’option --extract-baud avec comme argument de ligne de commande différentes vitesses, ainsi le traitement de BREAK est activé.

Le texte du fichier /etc/issue (ou d’un autre fichier) et l’invite de connexion sont toujours affichés avec des caractères 7 bits et la parité 0.

La fonctionnalité de détection de la vitesse (l’option --extract-baud) nécessite que le modem envoie son message d’état après avoir mis à un état haut la ligne DCD.

DIAGNOSTICS

Suivant la façon dont le programme a été configuré, tous les diagnostics sont dirigés vers le périphérique de console ou signalés par le service syslog(3). Des messages d’erreur sont produits si le paramètre port ne précise pas un périphérique de terminal, s’il n’y a pas d’entrée utmp pour le processus actuel (Système V uniquement), etc.

AUTEURS

Werner Fink <werner@suse.de>, Karel Zak <kzak@redhat.com>

L’agetty d’origine pour les terminaux série a été écrit par W.Z. Venema <wietse@wzv.win.tue.nl> et porté pour Linux par Peter Orbaek <poe@daimi.aau.dk>.

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le gestionnaire de bogues sur <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

La commande agetty fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2024-04-03 util-linux 2.40