### Muster

Die Zugriffssteuerungssprache implementiert die folgenden Muster:

- Eine Zeichenfolge, die mit einem '.' Beginnt. Charakter. Ein Hostname wird abgeglichen, wenn die letzten Komponenten seines Namens mit dem angegebenen Muster übereinstimmen. Beispielsweise entspricht das Muster '.tue.nl' dem Hostnamen 'wzv.win.tue.nl'.
- Eine Zeichenfolge, die mit einem '.' Endet. Charakter. Eine Hostadresse wird abgeglichen, wenn ihre ersten numerischen Felder mit der angegebenen Zeichenfolge übereinstimmen. Zum Beispiel das Muster '131.155.' entspricht der Adresse (fast) jedes Hosts im Netzwerk der Universität Eindhoven (131.155.xx).
- Eine Zeichenfolge, die mit einem @ -Zeichen beginnt, wird als NIS-Netzgruppenname (ehemals YP) behandelt. Ein Hostname wird abgeglichen, wenn er ein Hostmitglied der angegebenen Netzgruppe ist. Netzgruppenübereinstimmungen werden für Dämonprozessnamen oder für Clientbenutzernamen nicht unterstützt.
- Ein Ausdruck der Form 'nnnn / mmmm' wird als 'Netz / Maske'-Paar interpretiert. Eine IPv4-Hostadresse wird abgeglichen, wenn 'net' gleich dem bitweisen UND der Adresse und der 'Maske' ist. Beispielsweise stimmt das Netz- / Maskenmuster '131.155.72.0/255.255.254.0' mit jeder Adresse im Bereich '131.155.72.0' bis '131.155.73.255' überein.
- Ein Ausdruck der Form '[n: n: n: n: n: n: n: n] / m' wird als Paar '[net]/prefixlen' interpretiert. Eine IPv6-Hostadresse wird abgeglichen, wenn die 'Präfix'-Bits von' net 'den' Präfixlen'-Bits der Adresse entsprechen. Zum Beispiel stimmt das Muster [net]/prefixlen '[3ffe: 505: 2: 1 ::]/64' mit jeder Adresse im Bereich '3ffe: 505: 2: 1:' überein? bis '3ffe: 505: 2: 1: ffff: ffff: ffff: ffff'.
- Eine Zeichenfolge, die mit einem '/' beginnt, wird als Dateiname behandelt. Ein Hostname oder eine Hostadresse stimmt überein, wenn sie mit einem in der genannten Datei aufgeführten Hostnamen oder Adressmuster übereinstimmt. Das Dateiformat besteht aus null oder mehr Zeilen mit null oder mehr Hostnamen oder Adressmustern, die durch Leerzeichen getrennt sind. Ein Dateinamenmuster kann überall dort verwendet werden, wo ein Hostname oder ein Adressmuster verwendet werden kann.
- Platzhalter '*' und '?' kann verwendet werden, um Hostnamen oder IP-Adressen abzugleichen. Diese Methode des Abgleichs kann nicht in Verbindung mit dem Abgleich "Netz / Maske" verwendet werden. Der Abgleich des Hostnamens beginnt mit "." oder IP-Adressübereinstimmung mit der Endung '.'.

### Platzhalter

Die Zugriffskontrollsprache unterstützt explizite Platzhalter:

ALLE | Der universelle Platzhalter stimmt immer überein.
LOKAL | Entspricht jedem Host, dessen Name kein Punktzeichen enthält.
UNBEKANNT | Entspricht jedem Benutzer, dessen Name unbekannt ist, und jedem Host, dessen Name oder Adresse unbekannt ist. Dieses Muster sollte mit Vorsicht verwendet werden: Hostnamen sind möglicherweise aufgrund vorübergehender Nameserverprobleme nicht verfügbar. Eine Netzwerkadresse ist nicht verfügbar, wenn die Software nicht herausfinden kann, mit welchem Netzwerktyp sie spricht.
BEKANNT | Entspricht jedem Benutzer, dessen Name bekannt ist, und jedem Host, dessen Name und Adresse bekannt sind. Dieses Muster sollte mit Vorsicht verwendet werden: Hostnamen sind möglicherweise aufgrund vorübergehender Nameserverprobleme nicht verfügbar. Eine Netzwerkadresse ist nicht verfügbar, wenn die Software nicht herausfinden kann, mit welchem Netzwerktyp sie spricht.
PARANOID | Entspricht jedem Host, dessen Name nicht mit seiner Adresse übereinstimmt. Wenn tcpd mit -DPARANOID (Standardmodus) erstellt wird, werden Anforderungen von solchen Clients gelöscht, noch bevor die Zugriffssteuerungstabellen angezeigt werden. Erstellen Sie ohne -DPARANOID, wenn Sie mehr Kontrolle über solche Anforderungen haben möchten.

### Betreiber

EXCEPT Die beabsichtigte Verwendung hat die Form: 'list_1 EXCEPT list_2'; Dieses Konstrukt stimmt mit allem überein, was mit list_1 übereinstimmt, es sei denn, es stimmt mit list_2 überein. Der EXCEPT-Operator kann in daemon_lists und in client_lists verwendet werden. Der EXCEPT-Operator kann verschachtelt sein: Wenn die Steuerungssprache die Verwendung von Klammern zulassen würde, würde 'a EXCEPT b EXCEPT c' als '(a EXCEPT (b EXCEPT c))' analysiert.

### Shell-Befehle

Wenn die zuerst übereinstimmende Zugriffssteuerungsregel einen Shell-Befehl enthält, wird dieser Befehl%unterworfen Substitutionen (siehe nächster Abschnitt). Das Ergebnis wird von einem untergeordneten Prozess /bin/sh ausgeführt, dessen Standardeingabe, -ausgabe und -fehler mit /dev/null verbunden sind. Geben Sie am Ende des Befehls ein '&' an, wenn Sie nicht warten möchten, bis der Befehl abgeschlossen ist.

Shell-Befehle sollten nicht von der PATH-Einstellung des inetd abhängen. Stattdessen sollten sie absolute Pfadnamen verwenden oder mit einer expliziten PATH = what-Anweisung beginnen.

### % Erweiterungen

Die folgenden Erweiterungen sind in Shell-Befehlen verfügbar:

%a (%A) | Die Hostadresse des Clients (Servers).
%c | Client-Informationen: Benutzer @ Host, Benutzer @ Adresse, ein Hostname oder nur eine Adresse, je nachdem, wie viele Informationen verfügbar sind.
%d | Der Name des Dämonprozesses (argv[0] -Wert).
%h (%H) | Der Hostname oder die Adresse des Clients (Servers), wenn der Hostname nicht verfügbar ist.
%n (%N) | Der Hostname des Clients (Servers) (oder "unbekannt" oder "paranoid").
%p | Die Daemon-Prozess-ID.
%s | Serverinformationen: Daemon @ Host, Daemon @ Adresse oder nur ein Daemon-Name, je nachdem, wie viele Informationen verfügbar sind.
%u | Der Client-Benutzername (oder "unbekannt").
%% | Erweitert sich auf ein einziges '%? Charakter.

Zeichen in% -Erweiterungen, die die Shell verwirren können, werden durch Unterstriche ersetzt.