1. NOM

agetty - getty alternatif pour Linux

2. SYNOPSIS

agetty [-8chiLmnsUw] [-a nom_utilisateur] [-f fichier_issue] [-H hôte_connexion] [-I chaîne_initiale] [-l programme_connexion] [-t délai] port vitesse_de_connexion[,vitesse_de_connexion ... ] [term]

3. DESCRIPTION

agetty ouvre un port de terminal, demande un nom d'utilisateur, puis appelle la commande /bin/login. Il est normalement appelé par init(8). agetty a plusieurs fonctionnalités non normalisées qui sont utiles pour les lignes série et modem.

o Adapter la configuration du terminal aux bits de parités, 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 : @ et « Contrôle-U » (tuer) ; #, Suppr. et Retour Arrière (supprimer) ; retour chariot et nouvelle ligne (fin de ligne).

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

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

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

o Option pour afficher un autre fichier issue à la place de /etc/issue.

o Option pour ne pas demander de nom d'utilisateur.

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

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

o 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).

4. PARAMÈTRES

  • 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 « -- ».
  • vitesse_de_connexion[,vitesse_de_connexion ... ]
        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 dans l'ordre décroissant, de telle sorte que le caractère nul (Ctrl-@) puisse être utilisé pour changer de vitesse.
  • term
        La valeur à utiliser pour la variable d'environnement TERM. Cela surcharge toute valeur positionnée par init(8) et qui est héritée par la connexion et l'interpréteur de commande.

5. 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 l'identifiant ni le mot de passe. L'option -f nom_utilisateur est ajoutée par défaut à la ligne de commande de /bin/login. L'option --login-options modifie ce comportement par défaut : dans ce cas seul \u est remplacé par nom_utilisateur, et aucune option n'est ajoutée à la ligne de commande de login.
  • -c, --noreset
        Ne pas réinitialiser les cflags du terminal (modes de contrôle). Consultez termios(3) pour plus de précisions.
  • -f, --issue-file fichier_issue
        Afficher le contenu du fichier fichier_issue au lieu du fichier /etc/issue. Cela permet de personnaliser les messages à afficher sur les différents terminaux. L'option -i surcharge cette option.
  • -h, --flow-control
        Activer le contrôle de flux matériel (RTS/CTS). L'application est libre de désactiver le contrôle de flux logiciel (XON/XOFF) quand elle le juge opportun.
  • -H, --host hôte_connexion
        Écrire l'hôte de connexion hôte_connexion 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 et 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 « \012 ».
  • -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 (par exemple, un programme qui demande un mot de passe lors de l'établissement de la connexion ou qui utilise un fichier de mot de passe différent).
  • -L, --local-line
        Forcer la ligne à être une ligne locale sans détection de porteuses.C'est utile pour un terminal connecté localement dont la ligne série ne détecte pas le signal de porteuse .
  • -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 : « <junk><speed><junk> ». agetty suppose que le modem envoie les messages d'état à la même vitesse que celle indiquée (la première) par vitesse_de_connexion sur la ligne de commande.

    Puisque la fonctionnalité -m peut échouer sur des systèmes chargés, vous devriez activer le traitement de BREAK en énumérant toutes les vitesses attendues sur la ligne de commande.
  • -n, --skip-login
        Ne pas demander d'identifiant de connexion à l'utilisateur. Cela peut être utilisé avec l'option -l lors d'une procédure de connexion non standard comme les systèmes BBS. Remarquez qu'avec l'option -n, agetty ne reçoit pas les caractères 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.
  • -o, --login-options options_connexion
        Options passées au programme de connexion. \u est remplacé par l'identifiant de connexion. La ligne de commande par défaut de /bin/login est « /bin/login -- nom_utilisateur ». Veuillez consulter l'AVIS DE SÉCURITÉ ci-dessous si vous avez l'intention d'utiliser cela.
  • -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, --hangup
        Appeler vraiment vhangup() pour un raccrochage virtuel du terminal indiqué.
  • -s, --keep-baud
        Essayer de conserver la vitesse existante. Les vitesses indiquées sur la ligne de commande sont utilisées quand agetty reçoit un caractère BREAK.
  • -t, --timeout délai
        Quitter si aucun nom d'utilisateur n'a pu être lu pendant le délai, exprimée en seconde. Cette option ne devrait pas être utilisée pour les lignes série.
  • -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 et l'invite de connexion. Cela est très utile lors de connexions avec l'option -I.
  • --noclear
        Ne pas vider l'écran avant de demander l'identifiant (l'écran est effacé normalement).
  • --nonewline
        Ne pas ajouter de changement ligne avant d'écrire /etc/issue.
  • --nohostname
        Par défaut, le nom d'hôte sera affiché. En activant cette option, aucun nom d'hôte ne sera montré.
  • --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(), ou sinon par gethostbyname(), est montré.
  • --version
        Afficher les informations sur la version et quitter.
  • --help
        Afficher un écran d'aide et quitter.

6. EXEMPLES

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 détails. Pour une ligne câblée ou une console tty : /sbin/agetty 9600 ttyS1 Pour un terminal connecté directement sans détection de porteuse ligne (utilisez ceci si le terminal se met en veille au lieu de demander un mot de passe) : /sbin/agetty -L 9600 ttyS1 vt100 Pour une ligne avec un vieux modem acceptant les vitesses de 9600, 2400 et 1200 bauds : /sbin/agetty -mt60 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 -w -I 'ATE0Q1&D2&C1S0=1\015' 115200 ttyS1

7. AVIS DE SÉCURITÉ

Si vous utilisez les options --login-program et --login-options, soyez conscient qu'un utilisateur malveillant pourrait essayer d'entrer des identifiants avec des options intégrées, qui seraient alors passées au programme login utilisé. agetty vérifie la présence d'un - initial et s'assure que l'identifiant est passé comme un paramètre (de telle sorte que les espaces incorporées ne créent pas encore un autre paramètre), mais suivant la façon dont le binaire login analyse la ligne de commande, cela risque d'être insuffisant. Vérifiez que le programme login utilisé ne peut pas être abusé de cette façon.

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 avant que nom_utilisateur ne soit passé par \u.

8. SUITES D'ÉCHAPPEMENT DES FICHIERS ISSUE

Le fichier issue (/etc/issue) ou le fichier défini avec l'option -f peut contenir certains codes d'échappement afin d'afficher le nom du système, la date, le temps, etc. Tous les caractères d'échappement sont formés d'une barre oblique inversée (\) immédiatement suivie par l'une des lettres suivantes.

  • b
        Insérer la vitesse en bauds de la ligne actuelle.
  • d
        Insérer la date actuelle.
  • s
        Insérer le nom du système, le nom du système d'exploitation. Identique à uname -s.
  • l
        Insérer le nom de la ligne tty actuelle.
  • m
        Insérer l'identifiant de l'architecture de la machine. Identique à \fBuname -m\fP.
  • 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 à \fBuname -r\fP.
  • 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 :
        
 
Sélectionnez
Voici \n.\o (\s \m \r) \t
 
  • il pourrait afficher :      Voici thingol.orcan.dk (Linux i386 1.1.9) 18:29:30

9. FICHIERS

 
Sélectionnez
/var/run/utmp	le fichier d'état système.
 /etc/issue	affiché avant l'invite de connexion.
 /dev/console	rapports d'anomalies (si syslog(3) n'est pas utilisé).
 /etc/inittab	fichier de configuration de init(8).
 

10. BOGUES

La détection de la vitesse de connexion (l'option -m) 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 -m avec différentes vitesses de connexion, ainsi le traitement du 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 parité 0 La fonctionnalité de détection de la vitesse (l'option -m) nécessite que le modem envoie son message d'état après avoir mis à un état haut le signal DCD.

11. 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 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 en cours (Système V uniquement), etc.

12. AUTEURS

 
Sélectionnez
W.Z. Venema <wietse\@wzv\.win\.tue\.nl>
 Technische Universiteit Eindhoven
 Faculteit Wiskunde en Informatica
 Postbus 513
 5600 MB Eindhoven
 Pays-Bas
 
 Peter Orbaek <poe\@daimi\.aau\.dk>
 Portage Linux et ajout d'options. Maintient encore le code.
 
 Eric Rasmussen <ear\@usfirst\.org>
 Ajout de l'option -f pour afficher des messages de
 connexion personnalisés sur différents terminaux.
 
 

13. DISPONIBILITÉ

La commande agetty fait partie du paquet util-linux, elle est disponible sur <URL:ftp://ftp.kernel.org/pub/linux/utils/util-linux/>.