Vorab ein Hinweis: mgetty
ist eine (bessere?) Alternative zu
uugetty
. Es ist neuer und weiter verbreitet als uugetty
.
Abschnitt
getty enthält einen
kurzen Vergleich zwischen beiden Varianten.
Da uugetty
ein Bestandteil des Programmpakets getty_ps
ist, muss zunächst getty_ps
installiert werden. Die jeweils
aktuelle Version ist zu finden unter:
ftp://metalab.unc.edu/pub/Linux/system/serial
Möchten Sie hohe Übertragungsgeschwindigkeiten nutzen, dann verwenden Sie Version 2.0.7j oder höher. Systemvoraussetzung ist libc5.x oder höher.
Standardmäßig wird getty_ps
gemäß dem Linux FSSTND (File
System Standard) konfiguriert. Das bedeutet, die ausführbaren
Programme befinden sich im Verzeichnist /sbin
, und die
Konfigurationsdateien heissen /etc/conf.{uu}getty.ttyS0
usw.
Dies geht nicht aus der Dokumentation hervor. Die Dateien zur
Verwaltung konkurrierender Zugriffe (Lock-Dateien) befinden sich im
Verzeichnis /var/lock
. Vergewissern Sie sich, dass das
/var/lock
-Verzeichnis vorhanden ist.
Wenn Sie auf FSSTND-Konformität keinen Wert legen, werden die
ausführbaren Programme in /etc
, die Konfigurationsdateien in
/etc/dafault/{uu}getty.ttyS0
usw. und die Lock-Dateien im
Verzeichnis /usr/spool/uucp
installiert. Ich empfehle diese
Vorgehensweise, falls Sie UUCP einsetzen, weil UUCP ein Problem hat, wenn
die Lock-Dateien nicht da stehen, wo sie von UUCP erwartet werden.
getty_ps
kann auch syslogd
verwenden, um Meldungen zu
protokollieren. Falls syslogd
auf Ihrem System nicht bereits
aktiv ist, können Sie sich mit man syslogd
und mit man
syslog.conf
über die Konfiguration informieren. Meldungen werden
mit der Priorität »LOG_AUTH«, Fehler mit »LOG_ERR« und Debug-Informationen
mit »LOG_DEBUG« protokolliert. Falls sie nicht syslogd
verwenden
wollen, können Sie auch in der Datei tune.h
des
getty_ps
Quellcodes eine andere Protokolldatei angeben,
/var/adm/getty.log
ist die Voreinstellung.
Entscheiden Sie sich, ob Sie die FSSTND-Konformität und die
syslog-Funktionalität haben wollen. Sie können auch entweder das eine oder
das andere verwenden. Passen Sie die Dateien Makefile
,
tune.h
und config.h
entsprechend an. Übersetzen und
installieren Sie dann das Paket, wie in der enthaltenen Anleitung
beschrieben.
Sie können mit Ihrem Modem eine abgehende Verbindung aufbauen,
während uugetty
den Port auf mögliche Login-Versuche überwacht.
uugetty
übernimmt auch wichtige Prüfungen auf Sperrdateien.
Editieren Sie /etc/gettydefs
und fügen Sie einen Eintrag für
Ihr Modem hinzu. Mit dem folgenden Befehl können Sie überprüfen, ob
Ihre Änderungen syntaktisch korrekt sind:
getty -c /etc/gettydefs
Wenn Sie ein Modem mit mindestens 9600 bps haben, können Sie den seriellen Port auf eine feste übertragungsgeschwindigkeit einstellen, z.B.:
# 115200 fixed speed
F115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #F115200
Falls Sie die RTS/CTS Hardware Flusskontrolle verwenden, können Sie
CRTSCTS
zu den Einträgen hinzufügen:
# 115200 fixed speed with hardware flow control
F115200# B115200 CS8 CRTSCTS # B115200 SANE -ISTRIP HUPCL CRTSCTS #@S @L @B login: #F115200
Wenn Sie ein altes Modem mit weniger als 9600 bps verwenden möchten, müssen Sie anstelle einer Zeile für eine Geschwindigkeit mehrere Zeilen angeben, um verschiedene Geschwindigkeiten zu probieren. Beachten Sie, dass die Zeilen untereinander durch das letzte »Wort« verbunden sind (wie z.B. #38000). Zwischen jedem Eintrag muss sich eine Leerzeile befinden.
# Modem entries
115200# B115200 CS8 # B115200 SANE -ISTRIP HUPCL #@S @L @B login: #57600
57600# B57600 CS8 # B57600 SANE -ISTRIP HUPCL #@S @L @B login: #38400
38400# B38400 CS8 # B38400 SANE -ISTRIP HUPCL #@S @L @B login: #19200
19200# B19200 CS8 # B19200 SANE -ISTRIP HUPCL #@S @L @B login: #9600
9600# B9600 CS8 # B9600 SANE -ISTRIP HUPCL #@S @L @B login: #2400
2400# B2400 CS8 # B2400 SANE -ISTRIP HUPCL #@S @L @B login: #115200
Wenn Sie möchten, können Sie uugetty
interessante Sachen im
Login-Banner ausgeben lassen. In den Beispielen von Greg sind der
Systemname, die serielle Leitung und die aktuelle Übertragungsrate
enthalten. Sie können aber auch weitere Informationen hinzufügen:
@B Die aktuelle Übertragungsrate (bps)
@D Das aktuelle Datum im Format MM/TT/JJ.
@L Die serielle Leitung, an der uugetty angeschlossen ist
@S Der Name des Systems
@T Die aktuelle Uhrzeit im Format HH:MM:SS (24-Stunden).
@U Die Anzahl der eingeloggten User. Dies entspricht der
Anzahl der Einträge in /etc/utmp/, die ein nicht-leeres
ut_name Feld haben.
@V Der Wert von VERSION, wie in der Default-Datei angegeben.
Um ein einzelnes »@«-Zeichen anzugeben, können Sie entweder »\@« oder »@@« angeben.
Für jeden Port gibt es viele Parameter, an denen Sie herumdrehen
können. Diese Parameter befinden sich für jeden Port in eigenen
Dateien. Die Datei /etc/conf.uugetty
wird von allen
Instanzen von uugetty
verwendet, und
/etc/conf.uugetty.ttyS0
usw. wird nur von diesem einen Port
verwendet. Beispieldateien sind bei den getty_ps
Quellcode
Dateien zu finden, die Bestandteil der meisten Linux Distributionen
sind. Aus Platzgründen sind sie hier nicht aufgeführt. Beachten Sie,
dass die standardmäßige Konfigurationsdatei
/etc/default/uugetty.ttyS0
usw. ist, falls Sie eine ältere
Version von uugetty
(< 2.0.7e) oder nicht den FSSTND-Standard
verwenden. Die Datei /etc/conf.uugetty.ttyS3
von Greg sah
folgendermaßen aus:
# Beispieldatei zur uugetty-Konfiguration für ein
# Hayes-komptibles Modem, erlaubt ankommende Modemverbindungen
#
# abwechselnd die Sperrdateien überprüfen; wenn die Sperrdatei
# exisitert, wird uugetty neu gestartet, um das Modem nochmals
# zu initalisieren
ALTLOCK=cua3
ALTLINE=cua3
# zu initialisierende Leitung
INITLINE=cua3
# Zeitspanne, nach der die Verbindung unterbrochen werden
# soll, falls keine Daten übertragen werden
TIMEOUT=60
# Modem Intialisierungs-String
# format: <expect> <send> ... (chat sequence)
INIT="" AT\r OK\r\n
WAITFOR=RING
CONNECT="" ATA\r CONNECT\s\A
# diese Zeile legt die Verzögerungszeit fest, bevor das
# Login Banner gesendet wird.
DELAY=1
#DEBUG=010
Fügen Sie die folgende Zeile in die Datei /etc/inittab
ein,
so dass uugetty
auf einem seriellen Port gestartet wird. Tragen
Sie die richtigen Werte für Ihre Umgebung ein: Run-Level (»2345« oder
»345«, usw.), die vollständigen Pfadnamen der Konfigurationsdateien, den
seriellen Port, die Übertragungsgeschwindigkeit und den
standardmäßigen Terminaltyp:
S3:2345:respawn:/sbin/uugetty -d /etc/default/uugetty.ttyS3 ttyS3 F115200 vt100
Neustart von init
:
init q
Als Parameter für die Übertragungsgeschwindigkeit sollten Sie den
höchstmöglichen Wert angeben, den Ihr Modem unterstützt.
Nun wird Linux den seriellen Port auf eingehende Anrufe überwachen. Zu Testzwecken können Sie von einem anderen Rechner aus Ihren Rechner anrufen und sich auf Ihrem Linux System einloggen.
uugetty
hat noch viele weitere Optionen, die in der Manual Page
von uugetty
(häufig auch einfach getty
genannt) vollständig
erläutert sind. U. a. gibt es Leistungsmerkmale für Zeitsteuerung und
Rückrufmöglichkeit.