Scroll to navigation

AGETTY(8) System-Administration AGETTY(8)

BEZEICHNUNG

agetty - alternativer Linux-Getty

ÜBERSICHT

agetty [Optionen] Port [Baudrate …] [Term]

BESCHREIBUNG


agetty öffnet einen TTY-Port, bittet um einen Anmeldenamen und startet den Befehl /bin/login. Es wird normalerweise durch init(8) aufgerufen.

agetty verfügt über mehrere nicht standardisierte Funktionalitäten, die für Stand- und Einwählleitungen nützlich sind:

  • Gleicht die TTY-Einstellungen für Paritätsbits und die Lösch-, Kill-, Zeilenende- und Großschriftzeichen an, wenn es den Anmeldenamen liest. Das Programm kann sowohl mit 7-Bit-Zeichen mit gerader, ungerader, keiner oder Space-Parität als auch mit 8-Bit-Zeichen ohne Parität umgehen. Die folgenden Sonderzeichen werden erkannt: Steuerungstaste-U (kill), Entfernen und Rückschritt (Löschen), Zeilenumbruch und Zeilenvorschub (Zeilenende). Siehe auch die Optionen --erase-chars und --kill-chars.
  • Ermittelt optional die Baudrate aus den von Hayes(™)-kompatiblen Modems erstellten CONNECT-Nachrichten.
  • Legt optional nicht auf, wenn ihm eine bereits offene Leitung übergeben wird (nützlich für Rückrufanwendungen).
  • Zeigt optional den Inhalt der Datei /etc/issue nicht an.
  • Zeigt optional eine alternative »issue«-Datei statt /etc/issue an.
  • Fragt optional nicht nach einem Anmeldenamen.
  • Startet optional ein nicht vorgegebenes Anmeldeprogramm statt /bin/login.
  • Schaltet optional Hardware-Flusssteuerung ein.
  • Erzwingt optional, dass die Leitung lokal und keine Signalerkennung notwendig ist.

Dieses Programm verwendet die Dateien /etc/gettydefs (System V) oder /etc/gettytab (SunOS 4) nicht.

ARGUMENTE


Port
Ein Pfadname relativ zum Verzeichnis /dev. Falls ein »-« angegeben wurde, nimmt agetty an, dass seine Standardeingabe bereits mit einem TTY-Port verbunden ist und dass die Verbindung zu einem Benutzer in der Ferne bereits aufgebaut wurde.

Unter System V sollte einem Argument »-« Port die Zeichenkette »--« vorangestellt werden.

Baudrate, …
Eine kommatagetrennte Liste einer oder mehrerer Baudraten. Jedes Mal, wenn agetty ein BREAK-Zeichen empfängt, schreitet es durch die Liste fort, die so behandelt wird, als ob sie zirkulär wäre.

Baudraten sollten in absteigender Reihenfolge angegeben werden, so dass das Null-Zeichen (Strg-@) auch für den Wechsel der Baudrate verwandt werden kann.

Dieses Argument ist optional und für virtuelle Terminals unnötig.

Die Vorgabe für serielle Terminals ist, die aktuelle Baudrate beizubehalten (siehe --keep-baud) und falls nicht erfolgreich, als Vorgabe »9600« zu verwenden.

Term
Der Wert, der für die Umgebungsvariable TERM verwendet werden soll. Dies setzt außer Kraft, was auch immer init(8) gesetzt haben könnte und wird an das Anmeldeprogramm und die Shell vererbt.

Die Vorgabe ist »vt100« oder »linux« für Linux auf einem virtuellen Terminal oder »hurd« für GNU Hurd auf einem virtuellen Terminal.

OPTIONEN


-8, --8bits
Es wird angenommen, dass das TTY 8-Bit-korrekt ist, daher wird die Paritätserkennung abgeschaltet.
-a, --autologin Benutzername
Den angegebenen Benutzer automatisch anmelden, ohne nach dem Anmeldenamen und dem Passwort zu fragen. Die Option Benutzername wird standardmäßig zu dem Befehl /bin/login hinzugefügt. Die Optionen für »--login-options« ändern dieses Standardverhalten und dann wird nur \u durch Benutzername ersetzt und es werden keine weiteren Optionen zu der Befehlszeile von Login hinzugefügt.
-c, --noreset
Terminal-Cflags (Steuermodi) werden nicht zurückgesetzt. Siehe termios(3) für weitere Details.
-E, --remote
Falls eine Option -H Fake-Rechner angegeben wird, dann wird die Option -r Fake-Rechner zu der Befehlszeile von /bin/login hinzugefügt.
-f, --issue-file Hinweisdatei
Zeigt den Inhalt der Hinweisdatei statt von /etc/issue an. Dies ermöglicht es, auf verschiedenen Terminals angepasste Meldungen anzuzeigen. Die Option -i setzt diese Option außer Kraft.
-h, --flow-control
Hardwareflusssteuerung (RTS/CTS) aktivieren. Es bleibt der Anwendung überlassen, Softwareflusssteuerung (XON/XOFF) wo notwendig zu deaktivieren.
-H, --host Anmelderechner
Schreibt den angegebenen Anmelderechner in die Datei »utmp«. (Normalerweise wird kein Anmelderechner angegeben, da agetty für lokale, festverdrahtete Verbindungen und Konsolen benutzt wird. Diese Option kann allerdings für die Identifizierung von Terminal-Konzentratoren und ähnlichem nützlich sein.)
-i, --noissue
Zeigt den Inhalt von /etc/issue (oder anderen) vor der Ausgabe der Anmeldeeingabeaufforderung nicht an. Terminals oder Kommunikations-Hardware könnten beim Empfang von vielem Text mit der falschen Baudrate durcheinanderkommen; Einwählskripte könnten fehlschlagen, falls vor der Anmeldeeingabeaufforderung zu viel Text steht.
-I, --init-string Init-Zeichenkette
Setzt eine initiale Zeichenkette, die an das TTY oder Modem vor dem Senden von allem anderen übertragen werden soll. Dies kann zur Initialisierung des Modems verwandt werden. Nicht druckbare Zeichen können gesandt werden, indem ihrem oktalen Code ein Rückwärtsschrägstrich (\) vorangestellt wird. Beispielsweise schreiben Sie \012, um ein Zeilenumbruchzeichen (ASCII 10, oktal 012) zu übertragen.
-J, --noclear
Löscht den Bildschirm nicht, bevor nach dem Anmeldenamen gefragt wird (normalerweise wird der Bildschirm gelöscht).
-l, --login-program Anmeldeprogramm
Ruft ein spezielles Anmeldeprogramm statt /bin/login auf. Dies ermöglicht es, ein nicht standardisiertes Anmeldeprogramm zu verwenden (beispielsweise eines, das nach einem Einwählpasswort fragt oder das eine andere Passwort-Datei verwendet).
-L, --local-line[=Modus]
Steuert den Leitungsschalter CLOCAL. Das optionale Argument Modus ist »auto«, »always« oder »never«. Falls das Argument Modus fortgelassen wird, ist die Vorgabe »always«. Falls die Option --local-line überhaupt nicht angegeben ist, dann ist die Vorgabe »auto«.

Der Modus »always« erzwingt, dass die Leitung lokal und keine Signalerkennung notwendig ist. Dies kann nützlich sein, falls Sie ein lokal angebundenes Terminal haben, bei der die serielle Leitung nicht das Signal »carrier-detect« setzt.

Der Modus »never« setzt den Schalter CLOCAL aus den Leitungseinstellungen explizit zurück und das Signal »carrier-detect« wird auf der Leitung erwartet.

Der Modus »auto« (Vorgabe von Agetty) verändert die CLOCAL-Einstellung nicht und folgt den Einstellungen, die vom Kernel aktiviert wurden.

-m, --extract-baud
Versucht, die Baudrate aus der von Hayes™-kompatiblen Modems erstellten CONNECT-Statusmeldung auszulesen. Die Statusmeldungen sind von folgender Form: »<Müll><Geschwindigkeit><Müll>«. agetty nimmt an, dass das Modem die Statusmeldung mit der gleichen Geschwindigkeit ausgibt, wie das mit dem (ersten) Baudrate-Wert auf der Befehlszeile angegeben ist.

Da die Funktionalität von -m auf stark beschäftigten Systemen fehlschlagen könnte, sollten Sie dennoch die Verarbeitung von BREAK aktivieren, indem Sie alle erwarteten Baudraten auf der Befehlszeile aufzählen.

-n, --skip-login
Fragt den Benutzer nicht nach einem Anmeldenamen. Dies kann für Verbindungen mit der Option -l verwandt werden, um einen nicht standardmäßigen Anmeldeprozess wie eine Mailbox (BBS) aufzurufen. Beachten Sie, dass mit der Option -n agetty keine Eingabezeichen von dem Benutzer erhält, der sich anmeldet, und daher nicht die Parität, Zeichenbreite und die Verarbeitung von Zeilenumbrüchen in der Verbindung erkennen kann. Als Vorgabe wird Space-Parität, 7-Bit-Zeichen und ASCII-CR (13) Zeilenumbruchzeichen verwandt. Achtung: Das von agetty gestartete Program (normalerweise /bin/login) wird als root ausgeführt.
-N, --nonewline
Keinen Zeilenumbruch vor dem Schreiben von /etc/issue anzeigen.
-o, --login-options "Anmeldeoptionen"
Optionen, die an das Anmeldeprogramm weitergegeben werden. \u wird durch den Anmeldenamen ersetzt. Die standardmäßige Befehlszeile für /bin/login lautet »/bin/login -- <Benutzername>«.

Bitte lesen Sie unten den SICHERHEITSHINWEIS, falls Sie dies benutzen möchten.

-p, --login-pause
Wartet auf einen Tastendruck, bevor eine Anmeldeaufforderung ausgegeben wird. Kann mit --autologin kombiniert werden, um durch träges Erzeugen von Shells Speicher zu sparen.
-r, --chroot Verzeichnis
Ändert das Wurzelverzeichnis auf das angegebene Verzeichnis.
-R, --hangup
Ruft vhangup() auf, um auf dem angegebenen Terminal virtuell aufzulegen.
-s, --keep-baud
Versucht, die bestehende Baudrate beizubehalten. Die Baudraten von der Befehlszeile werden verwandt, wenn Agetty ein »BREAK«-Zeichen empfängt.
-t, --timeout Dauer
Beendet sich, falls der Benutzername nicht innerhalb von Dauer Sekunden eingelesen werden konnte. Diese Option sollte wahrscheinlich nicht mit festverdrahteten Leitungen verwandt werden.
-U, --detect-case
Schaltet die Unterstützung für die Erkennung von Terminals ein, die nur Großschreibung beherrschen. Diese Einstellung wird einen Anmeldenamen, der nur Großbuchstaben enthält, erkennen und davon ausgehend auf ein Terminal schließen, das nur Großbuchstaben beherrscht und dann einige Groß-zu-Kleinbuchstaben-Umwandlungen aktivieren. Beachten Sie, dass dabei keine Unterstützung für Unicode-Zeichen vorhanden ist.
-w, --wait-cr
Wartet bis der Benutzer oder das Modem ein Zeilenumbruch- oder Wagenrücklaufzeichen gesandt hat, bevor die (oder eine andere) Datei /etc/issue und eine Eingabeaufforderung gesandt wird. Sehr nützlich in Verbindung mit der Option »-I«.
--nohints
Keine Hinweise zu den Num-, Rollen- und Feststelltasten anzeigen.
--nohostname
Standardmäßig wird der Rechnername angezeigt. Wird diese Option aktiviert, wird überhaupt kein Rechnername angezeigt.
--long-hostname
Standardmäßig wird der Rechnername nur bis zum ersten Punkt angezeigt. Wird diese Option aktiviert, dann wird der vollqualifizierte Rechnername durch gethostname() oder (falls nicht gefunden) durch getaddrinfo() angezeigt.
--erase-chars Zeichenkette
Diese Option legt zusätzliche Zeichen fest, die als Rückschritt (»das letzte Zeichen ignorieren«) interpretiert werden sollen, wenn der Benutzer den Anmeldenamen eingibt. Standardmäßig war »#« das zusätzliche »erase« (löschen), aber seit Util-Linux 2.23 werden keine zusätzlichen Löschzeichen standardmäßig aktiviert.
--kill-chars Zeichenkette
Diese Option legt zusätzliche Zeichen fest, die als Bereinigen (»alle vorherigen Zeichen ignorieren«) interpretiert werden sollen, wenn der Benutzer den Anmeldenamen eingibt. Standardmäßig war »@« das zusätzliche »kill« (bereinigen), aber seit Util-Linux 2.23 werden keine zusätzlichen Bereinigungszeichen standardmäßig aktiviert.
--chdir Verzeichnis
Vor dem Anmelden das Verzeichnis wechseln.
--delay Nummer
Wartet Sekunden, bevor ein TTY geöffnet wird.
--nice Nummer
Login mit dieser Priorität ausführen.
--reload
Fordert alle laufenden Instanzen von Agetty auf, sich neu zu laden und ihre angezeigten Anmeldeaufforderungen zu aktualisieren, falls der Benutzer noch nicht mit der Anmeldung begonnen hat. Danach wird sich der Befehl beenden. Diese Funktionalität wird von Systemen ohne Linux-inotify(7) möglicherweise nicht unterstützt.
--version
zeigt Versionsinformationen an und beendet das Programm.
--help
zeigt diese Hilfe an und beendet das Programm.

BEISPIELE

Dieser Abschnitt zeigt Beispiele für das Prozessfeld eines Eintrages in der Datei /etc/inittab. Sie müssen für die anderen Felder geeignete Werte voranstellen. Siehe inittab(5) für weitere Details.

Für eine hartverdrahtete Leitung oder ein Konsolen-TTY:

/sbin/agetty 9600 ttyS1

Für ein direkt verbundenes Terminal ohne korrekte »carrier-detect«-Verkabelung (versuchen Sie das, falls Ihr Terminal nicht reagiert, statt Ihnen eine »password«-Eingabeaufforderung anzuzeigen).

/sbin/agetty -L 9600 ttyS1 vt100

Für eine altertümliche Einwählleitung mit einem 9600/2400/1200-Baud-Modem:

/sbin/agetty -mt60 ttyS1 9600,2400,1200

Für ein Hayes-Modem mit einer fest eingestellten 115200-bit/s-Schnittstelle zum Rechner (die Beispiel-Init-Zeichenkette schaltet das Echo des Modems und die Ergebniscodes ab, läßt Modem-/Computer-Datenträgersignalerkennung (DCD) die Datenträgersignalerkennung des Modems/Modems verfolgen, erzeugt ein DTR, das zum Beenden der Verbindung führt und schaltet die automatische Antwort nach einmaligem Klingeln an):

/sbin/agetty -w -I 'ATE0Q1&D2&C1S0=1\015' 115200 ttyS1

SICHERHEITSHINWEIS

Falls Sie die Optionen --login-program und --login-options verwenden, seien Sie sich bewusst, dass ein bösartiger Benutzer versuchen könnte, Anmeldenamen mit eingebetteten Optionen anzugeben, die dann an das verwendete Anmeldeprogramm weitergegeben werden. Agetty prüft auf führende »-« und stellt sicher, dass Anmeldenamen als ein Parameter weitergegeben werden (daher werden eingebettete Leerzeichen keinen weiteren Parameter erzeugen), aber abhängig davon, wie das Anmeldeprogramm die Befehlszeile auswertet, könnte das nicht ausreichen. Prüfen Sie, dass das verwandte Anmeldeprogramm nicht auf diese Art missbraucht werden kann.

Einige Programme verwenden »--«, um anzuzeigen, dass der Rest der Befehlszeile nicht als Optionen interpretiert werden sollte. Verwenden Sie, falls vorhanden, diese Funktionalität, indem Sie »--« übergeben, bevor der Benutzernamme mit \u übergeben wird.

MASKIERUNGEN IN ISSUE

Die issue-Datei (/etc/issue oder die mit der Option -f gesetzte Datei) kann bestimmte Maskierungscodes enthalten, um den Systemnamen, das Datum, die Zeit usw. anzuzeigen. Alle Maskierungscodes bestehen aus einem Rückwärtsschrägstrich (\), der sofort von einem der unten aufgeführten Zeichen gefolgt wird.

4 oder 4{Schnittstelle}
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 not any configured interface is found, fall back to the IP address of the machine's hostname.
6 oder 6{Schnittstelle}
Identisch zu \4 aber für IPv6.
b
fügt die Baudrate der aktuellen Leitung ein.
d
fügt das aktuelle Datum ein.
e oder e{Name}
Übersetzt den menschenlesbaren Namen in eine Maskierungssequenz und fügt diese ein (Beispiel: \e{red}Hinweistext.\e{reset}). Falls das Argument Name nicht angegeben ist, wird \033 eingefügt. Die derzeit unterstützen Namen sind: black, blink, blue, bold, brown, cyan, darkgray, gray, green, halfbright, lightblue, lightcyan, lightgray, lightgreen, lightmagenta, lightred, magenta, red, reset, reverse und yellow. Alle unbekannten Namen werden stillschweigend ignoriert.
s
fügt den Systemnamen (den Namen des Betriebssystems) ein. Identisch zu »uname -s«. Siehe auch die Maskierungscodes.
S oder S{VARIABLE}
Fügt die VARIABLEn-Daten aus /etc/os-release hinzu. Falls diese Datei nicht existiert, dann wird auf /usr/lib/os-release zurückgefallen. Falls das Argument VARIABLE nicht festgelegt ist, dann wird »PRETTY_NAME« aus der Datei oder der Systemname verwandt (siehe \s). Der Maskierungscode erlaubt es, /etc/issue unabhängig von der Distribution und der Veröffentlichung zu halten. Beachten Sie, dass \S{ANSI_COLOR} in die echte Terminalmaskierungssequenz umgewandelt wird.
l
fügt den Name der aktuellen TTY-Leitung ein.
m
fügt den Architekturkennzeichner der Maschine ein. Identisch zu »uname -m«.
n
fügt den Knotennamen der Maschine (auch als Rechnername oder Hostname bekannt) ein. Identisch zu »uname -n«.
o
fügt den NIS-Domain-Namen der Maschine ein. Identisch zu »hostname -d«.
O
fügt den DNS-Domain-Namen der Maschine ein.
r
fügt die Release-Nummer des Betriebssystems ein. Identisch zu »uname -r«.
t
fügt die aktuelle Zeit ein.
u
fügt die Anzahl der aktuell angemeldeten Benutzer ein.
U
fügt die Zeichenkette »1 user« oder »<n> users« ein, wobei <n> die Anzahl der derzeit angemeldeten Benutzer ist.
v
fügt die Version des Betriebssystems ein, z.B. das Baudatum usw.

Beispielsweise führt die folgende Datei /etc/issue auf meinem System

Dies ist \n.\o (\s \m \r) \t

zu der Ausgabe:

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

DATEIEN

/var/run/utmp
ist die Systemstatusdatei.
/etc/issue
wird vor der Anmeldeeingabeaufforderung angezeigt.
/etc/os-release /usr/lib/os-release
enthält die Identifikationsdaten des Betriebssystems.
/dev/console
berichtet Probleme (falls syslog(3) nicht verwandt wird).
/etc/inittab
ist die init(8)-Konfigurationsdatei für einen SysV-artigen Init-Daemon.

FEHLER


Die Baudratenerkennungsfunktionalität (die Option -m) verlangt, dass agetty früh genug nach dem Abschluss des Einwählprozesses eingeplant wird (innerhalb von 30 ms bei Modems, die mit 2400 Baud funktionieren). Für einen robusteren Betrieb verwenden Sie die Option -m immer in Kombination mit mehreren Baudraten im Befehlszeilenargument, so dass die Verarbeitung von BREAK aktiviert ist.

Der Text in der Datei /etc/issue (oder anderer) und die Eingabeaufforderung werden immer mit 7-Bit-Zeichen und Space-Parität ausgegeben.

Die Baudratenerkennungsfunktionalität (die Option -m) verlangt, dass das Modem eine Statusmeldung nach dem Hochziehen der DCD-Leitung ausgibt.

DIAGNOSE


Abhängig davon, wie das Programm konfiguriert wurde, werden alle Diagnoseinformationen auf das Konsolengerät geschrieben oder über die syslog(3)-Funktionalität berichtet. Fehlernachrichten werden erstellt, falls das Argument Port kein Terminalgerät festlegt; falls es keinen Utmp-Eintrag für den aktuellen Prozess gibt (nur System V) und so weiter.

AUTOREN

Werner Fink
Karel Zak

Das ursprüngliche agetty für serielle Terminals wurde von W.Z. Venema <wietse@wzv.win.tue.nl> geschrieben und von Peter Orbaek <poe@daimi.aau.dk> nach Linux portiert.

VERFÜGBARKEIT

Der Befehl agetty ist Teil des Pakets util-linux und kann von ftp://ftp.kernel.org/pub/linux/utils/util-linux/ heruntergeladen werden.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> und Chris Leick <c.leick@vollbio.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.

Februar 2016 util-linux