TCP Wrappers

Mustern

Die Zugriffskontrollsprache implementiert die folgenden Muster:

Wildcard-Zeichen

Die Zugriffskontrollsprache unterstützt explizite Wildcards:
ALLDas universelle Wildcard, entspricht immer.
LOCALEntspricht jedem Host, dessen Name keinen Punkt enthält.
UNKNOWNEntspricht jedem Benutzer, dessen Name unbekannt ist, und entspricht jedem Host, dessen Name oder Adresse unbekannt ist. Dieses Muster sollte mit Vorsicht verwendet werden: Hostnamen können aufgrund vorübergehender Probleme mit dem Namensserver nicht verfügbar sein. Eine Netzwerkadresse ist nicht verfügbar, wenn die Software nicht feststellen kann, mit welchem Typ von Netzwerk sie kommuniziert.
KNOWNEntspricht jedem Benutzer, dessen Name bekannt ist, und entspricht jedem Host, dessen Name und Adresse bekannt sind. Dieses Muster sollte mit Vorsicht verwendet werden: Hostnamen können aufgrund vorübergehender Probleme mit dem Namensserver nicht verfügbar sein. Eine Netzwerkadresse ist nicht verfügbar, wenn die Software nicht feststellen kann, mit welchem Typ von Netzwerk sie kommuniziert.
PARANOIDEntspricht jedem Host, dessen Name nicht mit seiner Adresse übereinstimmt. Wenn tcpd mit -DPARANOID (Standardmodus) gebaut wird, werden Anfragen von solchen Clients bereits vor der Überprüfung der Zugriffskontrolltabellen abgelehnt. Bauen Sie ohne -DPARANOID, wenn Sie mehr Kontrolle über solche Anfragen haben möchten.

Operatoren

EXCEPT Der beabsichtigte Gebrauch ist in der Form: 'list_1 EXCEPT list_2'; diese Konstruktion entspricht allem, was mit list_1 übereinstimmt, es sei denn, es stimmt mit list_2 überein. Der EXCEPT-Operator kann in daemon_lists und client_lists verwendet werden. Der EXCEPT-Operator kann geschachtelt werden: Wenn die Zugriffskontrollsprache die Verwendung von Klammern zulassen würde, würde 'a EXCEPT b EXCEPT c' als '(a EXCEPT (b EXCEPT c))' geparst werden.

Shell-Befehle

Wenn die zuerst gefundene Zugriffskontrollregel einen Shell-Befehl enthält, wird dieser Befehl den % Ersetzungen (siehe nächste Sektion) unterzogen. Das Ergebnis wird von einem /bin/sh-Kindprozess ausgeführt, wobei die Standard-Eingabe, -Ausgabe und -Fehler mit /dev/null verbunden sind. Geben Sie ein '&' am Ende des Befehls an, wenn Sie nicht warten möchten, bis er abgeschlossen ist.

Shell-Befehle sollten nicht auf die PATH-Einstellung von inetd angewiesen sein. Stattdessen sollten sie absolute Pfadnamen verwenden oder mit einer expliziten PATH=whatever-Anweisung beginnen.

% Erweiterungen

Die folgenden Erweiterungen sind in Shell-Befehlen verfügbar:
%a (%A)Die Hostadresse des Clients (Servers).
%cClient-Informationen: user@host, user@address, ein Hostname oder nur eine Adresse, je nachdem, wie viele Informationen verfügbar sind.
%dDer Daemon-Prozessname (argv[0]-Wert).
%h (%H)Der Hostname oder die Adresse des Clients (Servers), falls der Hostname nicht verfügbar ist.
%n (%N)Der Hostname des Clients (Servers) (oder "unbekannt" oder "paranoid").
%pDie Prozess-ID des Daemons.
%sServerinformationen: daemon@host, daemon@address oder nur ein Daemon-Name, je nachdem, wie viele Informationen verfügbar sind.
%uDer Benutzername des Clients (oder "unbekannt").
%%Erweitert zu einem einzelnen '%'-Zeichen.
Zeichen in % Erweiterungen, die die Shell verwirren könnten, werden durch Unterstriche ersetzt.