Provided by:
rlinetd_0.8-1_i386 
NAME
rlinetd.conf - Rlinetd-Konfigurationsdatei
BESCHREIBUNG
rlinetd.conf enthält Konfigurationsinformationen für rlinetd. Es gibt
eine kleine Anzahl von ähnlichen Konstrukten auf höchster Ebene, die
sich im wesentlichen darin unterscheiden, welche Optionen
sinnvollerweise mit ihnen verwandt werden können.
Alle Zeichenketten werden mit dem Zeichen " maskiert. In einigen
Situationen (z.B. den Direktiven log, exec und chroot) gibt es eine
Reihe von Variablen, die in der Zeichenkette ersetzt werden können.
Falls nicht anders angegeben, müssen alle Zahlen positiv sein.
service "Name" {
...
}
Dieses Konstrukt beschreibt einen Dienst. Der Parameter Name ist
nur für die bequeme Benennung da, er dient nur dazu,
Protokollmeldungen zu unterscheiden und stellt eine Vorgabe für
Optionen dar, die logischerweise einen Namen als Argument
erwarten.
enabled
Dieses Konstrukt erlaubt das leichte Aktivieren oder
Deaktivieren eines Dienstes. Das Argument kann entweder
yes oder no (ja oder nein) lauten. Der Standardwert
lautet yes. Wird es auf no gesetzt, ist der Dienst
deaktiviert.
Beispiel:
enabled no;
port
Die Liste der Ports, für die der Dienst verfügbar gemacht
werden soll. Die Ports können entweder als Zeichenkette
oder im numerischen Format angegeben werden. Falls nicht
angegeben, ist die Vorgabe der Name des Dienstes, solange
es sich nicht um einen RPC-Dienst handelt, in dessen
Falle der Wert des Ports dynamisch vom System zugewiesen
wird.
Beispiel:
port "telnet", "rcmd", 56, 99;
interface
Dies gibt an, an welche Schnittstelle die aufgeführten
Ports gebunden werden sollen. Es erwartet eine Liste von
IP-Adressen als Argument, entsprechend der konfigurierten
Adressen der benötigten Schnittstellen. Falls nicht
angegeben, ist die Vorgabe INADDR_ANY und es wird an alle
verfügbaren Schnittstellen gebunden.
Beispiel:
interface 192.168.1.1, 192.168.1.2;
exec
Dies legt den Aufruf des Dienstes fest. Eine Reihe von
Ersetzungen können innerhalb der Zeichenkette vorgenommen
werden, bitte lesen Sie hierzu
Zeichenketten-Modifikatoren unten.
Beispiel:
exec "/usr/sbin/in.telnetd -d";
server
Dies legt das auszuführende Programm fest, falls von exec
verschieden.
Beispiel:
server "/usr/sbin/tcpd";
protocol
Dies legt das Socket-Protokoll fest, das beim Warten auf
Verbindungen auf Ports für diesen Dienst verwandt wird.
Das Argument kann entweder tcp oder udp sein. Die Vorgabe
ist tcp.
Beispiel:
protocol tcp;
user
Dies legt die Benutzer-ID (»userid«) fest, unter der
dieser Dienst laufen soll. Es akzeptiert ein Argument
entweder in symbolischer oder numerischer Form. Falls
group (siehe unten) nicht angegeben ist, wird die
Gruppen-ID (groupid) auf die primäre Gruppe des Benutzers
gesetzt.
Beispiel:
user "nobody";
group
Dies legt die Gruppen-ID (groupid) fest, unter der dieser
Dienst laufen soll. Es akzeptiert ein Argument entweder
in symbolischer oder numerischer Form.
Beispiel:
group "system";
backlog
Dies ist das »backlog«-Argument, das an den Systemaufruf
listen(2) übergeben wird.
Beispiel:
backlog 30;
instances
Dies gibt die maximale Anzahl an Dienstinstanzen an, die
gleichzeitig laufen können. Der Standardwert für diese
Variable ist 40.
Beispiel:
instances 50;
wait
Diese Direktive emuliert das wait-Verhalten von inetd(8).
Das Argument kann entweder yes oder no (ja oder nein)
lauten. Der Standardwert ist no. Wird diese Direktive auf
yes gesetzt, wird auch der Wert der Option instances auf
1 zurückgesetzt.
Beispiel:
wait yes;
nice
Dies gibt die Prozesspriorität an, unter der dieser
Dienst laufen soll. Das Argument wird direkt an den
Systemaufruf setpriority(2) übergeben. Der Wert kann
negativ sein.
Beispiel:
nice -5;
rpc
Dies gibt an, dass der Dienst im portmap(8)-Mapper als
RPC-Dienst registriert werden soll. Es akzeptiert eine
Liste von Argumenten wie folgt:
rpc {
name "Zeichenkette"; version 3,6,9-15,22;
}
Der Parameter name ist optional und wird standardmäßig
auf den Namen des Dienstes gesetzt.
chroot
Dies gibt das Wurzelverzeichnis für den Dienst an. Das
Zeichenkettenargument kann Modifikatoren akzeptieren, wie
dies unten in Zeichenketten-Modifikatoren dargestellt
ist.
Beispiel:
chroot "/tftpboot/%O";
log
Diese Direktive erwartet zwei Argumente. Das erste muss
entweder der symbolische Name einer vorher angegebenen
log-Direktive (siehe unten) oder das nicht maskierte Wort
syslog sein. In letzterem Fall wird eine Meldung mittels
des Systemaufrufs syslog(3) protokolliert. Das zweite
Argument ist die zu protokollierende Nachricht. Sie
unterliegt den unten in Zeichenketten-Modifikatoren
beschriebenen Modifikatoren.
Beispiel:
log syslog "Dienst von %O abgeschlossen";
tcpd
Diese Direktive führt dazu, dass die von tcp_wrappers
angegebenen Zugriffskontrollen angewandt werden. Dies hat
den gleichen Effekt, wie den Aufruf eines Dienstes mit
dem Argument /usr/sbin/tcpd (oder wo auch immer sich
tcpd(8) befindet) für server. Es spart allerdings den
zusätzlichen Schritt des Programmstarts. Es akzeptiert
bis zu zwei zusätzliche Argumente. Das erste ist der Name
des Dienstes, der beim Prüfen gegen die Regeln verwandt
werden soll, und das zweite ist ein Anweisungsblock, der
beim Zutreffen von Regeln ausgeführt werden soll. Falls
kein Name angegeben wird, wird als Vorgabe der Name des
Dienstes verwandt. Falls der Anweisungsblock nicht
angegeben wird, wird als Vorgabe »exit;« verwandt.
Beispiele:
tcpd "in.telnetd";
tcpd { exec "/usr/local/bin/winnuke %O"; }
tcpd "Sinnlos" { echo "Hallo Jungs, kommt rein."; }
tcpd "trotzig" { echo "500 Zugriff von %O verweigert."; exit; }
exit
Diese Direktive ist nur in einem Anweisungsblock für die
Direktive tcpd sinnvoll. Beachten Sie: Wenn Sie diese
nicht verwenden (und keine andere beendende Direktive wie
exec angeben) dann wird der Dienst nie beendet.
Beispiel:
exit;
capability
Diese Direktive gibt die Fähigkeiten (»capabilities«) an,
über die der Dienst bei der Ausführung verfügen sollte.
Das Argument ist eine Zeichenkette, die direkt an
cap_from_text(3) weitergegeben wird. Diese Beschreibung
ist ziemlich lausig, aber diese Funktionalität nützt
Ihnen sowieso nicht viel, solange Sie die Datei
»README.capabilities« noch nicht gelesen haben.
Beispiel:
capability "cap_setuid=ep";
rlimit
Diese Direktive erwartet zwei Argumente. Das erste ist
ein Symbol, das die Art der benötigten Begrenzung angibt.
Diese werden unten aufgeführt. Das zweite Argument wird
in einem von zwei Formaten erwartet. Es kann entweder ein
einzelner numerischer Wert sein. In diesem Fall werden
sowohl die weichen als auch die harten Grenzen (»soft and
hard limits«) der besagte Ressource auf diesen Wert
gesetzt. Alternativ kann es eine Liste in der folgenden
Form sein:
rlimit type {
soft x; hard y;
}
In dem Fall werden die harten und weichen Begrenzungen
entsprechend gesetzt. In jedem Fall kann das Wort
unlimited anstelle eines numerischen Wertes angegeben
werden und damit jede Begrenzung entfernt werden. Die
Werte werden direkt an den Systemaufruf setrlimit(2)
übergeben und sollten aus diesem Kontext heraus angegeben
werden.
Arten:
cpu, fsize, data, stack, core, rss, nproc, nofile,
memlock
Beispiel:
rlimit cpu 15;
initgroups
Das Argument kann entweder yes oder no (ja oder nein)
lauten. Diese Direktive führt zum Aufruf von
initgroups(3) beim Dienstestart, womit die zusätzlichen
Gruppen des Dienstes entsprechend der Datei /etc/group
gesetzt werden.
Beispiel:
initgroups yes;
family
Diese Direktive gibt die Protokollfamilie an, für die
Rlinetd Sockets für diesen Dienst binden soll. Derzeit
kann dies entweder ipv4 oder ipv6 sein. Falls nicht
angegeben, ist die Vorgabe etwas für das System
angemessenes.
Beispiel:
family ipv6;
banner
Diese Direktive erlaubt es Ihnen, eine Datei für eine
Verbindung auszugeben.
Beispiel:
banner "/etc/nologin";
echo
Diese Direktive erlaubt es, eine dynamisch generierte
Zeile für diese Verbindung hinzuzufügen.
Beispiel:
echo "500 Dienst von Ihrer IP aus verweigert (%O)";
filter
Diese Direktive erlaubt es, ein
Linux-Socket-Filterprogramm anzugeben, das dem Socket
zugeordnet wird, an dem auf Anfragen gewartet wird. So
ein Programm kann mit einem Werkzeug wie lsfcc(1)
erstellt werden.
Beispiel:
filter "/usr/local/lib/rlinetd/filters/privport";
chargen
Diese Direktive führt eine Endlosschleife aus, bei der
Daten an jede Verbindung ausgegeben werden. Falls kein
Argument übergeben wird, wird eine Teilmenge der
druckbaren Zeichen ausgegeben. Allerdings kann ein
Dateiname als Argument übergeben werden, wobei dann der
Inhalt der Datei in der Schleife ausgegeben wird.
Beispiel:
chargen "/usr/local/lib/spam";
log "Name" {
...
}
Dieses Konstrukt beschreibt ein Protokollierziel. Der Parameter
Name wird als Argument für die Direktive log in
service-Konfigurationen verwandt.
path
Dies gibt den Dateinamen für diese Protokolldatei an.
Beispiel:
path "/var/log/service.log";
mode
Dies gibt die Dateirechte für die Protokolldatei an. Das
Argument muss numerisch sein und lautet 0640, falls nicht
angegeben.
Beispiel:
mode 0600;
user
Dies gibt die UID der Protokolldatei an. Es kann entweder
als numerische UID oder als Benutzername angegeben
werden.
Beispiel:
user "adm";
group
Dies gibt die GID der Protokolldatei an. Es kann entweder
als numerische GID oder als Benutzername angegeben
werden.
Beispiel:
group "adm";
defaults {
...
}
Dieses Konstrukt erwartet die gleichen Parameter wie die
Deklaration von service. Anstatt allerdings einen Dienst
anzugeben, werden die Vorgaben für alle im Folgenden angegebenen
Dienste gesetzt.
directory "Pfad" "passen" "ignorieren";
Dieses Konstrukt gibt ein Verzeichnis an, das zusätzliche
auszuwertende Konfigurationsdateien enthält. Die Auswertung
dieser zusätzlichen Dateien beginnt erst, nachdem die aktuelle
Datei abgeschlossen wurde. Die Argumente match und ignore sind
optional und werden, falls angegeben, benutzt, um die Dateien im
Verzeichnis zu filtern. Dateinamen müssen auf den regulären
Ausdruck match passen (falls dieser angegeben ist) und dürfen
nicht auf den regulären Ausdruck ignore passen (falls dieser
angegeben ist). In allen Fällen werden Dateinamen, die mit einem
Punkt (».«) beginnen, übersprungen. In Verzeichnisse wird nicht
rekursiv abgestiegen.
Zeichenketten-Modifikatoren
Es gibt eine Reihe von Variablen, die in Argumenten für einige
Direktiven ersetzt werden können. Obwohl sie alle an den gleichen
Stellen verwandt werden können, sind die von einigen ermittelten
Informationen in bestimmten Fällen nicht verfügbar.
%O die Quell-IP-Adresse dieser Verbindung
%P der Quell-Port dieser Verbindung
%C die gesamte verwandte CPU-Zeit
%U die verwandte Benutzer-CPU-Zeit
%S die System-CPU-Zeit
%r maximale »resident set size«
%m Größe des gemeinsam benutzten Speichers (»shared memory«)
%d Größe des nicht gemeinsam benutzen Datenbereichs (»unshared
data«)
%s Größe des nicht gemeinsam genutzten Stapelspeichers
%f Speicherseiten-Rückforderungen (»page reclaims«)
%F Seitenfehler (»page faults«)
%p Swaps
%i Blockeingabeoperationen
%o Blockausgabeoperationen
%n versandte Nachrichten
%c empfangene Nachrichten
%k empfangene Signale
%w freiwillige Kontextumschaltungen
%w unfreiwillige Kontextumschaltungen
%e Exit-Code
%t Laufzeit
%M Die aktuelle Zeit wird in Sekunden seit der Epoche 1980
dargestellt und in Netzreihenfolge als 32-Bit-Wort ausgegeben.
Sie hat absolut keine andere Verwendung, als Inetd-artige
Zeitfunktionalität bereitzustellen.
%I aktuelles Datum und Zeit, im Schöndruck-ctime(3)-Format
SIEHE AUCH
rlinetd(8), hosts_access(5)
AUTOR
Diese Handbuchseite wurde von Mikolaj J. Habryn <dichro-doc@rcpt.to>
geschrieben. Geändert von Robert Luberda <robert@debian.org>.
ÜBERSETZUNG
Diese Übersetzung wurde 2011 von Helge Kreutzmann erstellt. Sie
unterliegt der GNU GPL Version 2 (oder neuer).
Um die englische Originalversion zu lesen, geben Sie »man -L C BEFEHL«
ein.
Fehler in der Übersetzung melden Sie bitte über die Fehlerdatenbank
(BTS) von Debian oder indem Sie eine E-Mail an
<debian-l10-german@lists.debian.org>, schreiben.