Opakowania TCP

Wzory

Język kontroli dostępu implementuje następujące wzorce:

Symbole wieloznaczne

Język kontroli dostępu obsługuje jawne symbole wieloznaczne:
WSZYSTKO Uniwersalny symbol wieloznaczny zawsze pasuje.
LOKALNY Pasuje do dowolnego hosta, którego nazwa nie zawiera znaku kropki.
NIEZNANY Odpowiada każdemu użytkownikowi, którego nazwa jest nieznana, i pasuje do każdego hosta, którego nazwa lub adres są nieznane. Z tego wzorca należy korzystać ostrożnie: nazwy hostów mogą być niedostępne z powodu problemów z tymczasowymi serwerami nazw. Adres sieciowy będzie niedostępny, gdy oprogramowanie nie będzie w stanie ustalić, z jakim typem sieci się komunikuje.
ZNANY Odpowiada każdemu użytkownikowi o znanej nazwie i pasuje do każdego hosta, którego nazwa i adres są znane. Z tego wzorca należy korzystać ostrożnie: nazwy hostów mogą być niedostępne z powodu problemów z tymczasowymi serwerami nazw. Adres sieciowy będzie niedostępny, gdy oprogramowanie nie będzie w stanie ustalić, z jakim typem sieci się komunikuje.
PARANOIDALNY Pasuje do dowolnego hosta, którego nazwa jest niezgodna z jego adresem. Kiedy tcpd jest zbudowany z -DPARANOID (tryb domyślny), odrzuca żądania od takich klientów, nawet przed przeglądaniem tabel kontroli dostępu. Buduj bez opcji -DPARANOID, jeśli chcesz mieć większą kontrolę nad takimi żądaniami.

Operatorzy

Z WYJĄTKIEM Przeznaczenie ma postać: „lista_1 Z WYJĄTKIEM lista_2”; ta konstrukcja pasuje do wszystkiego, co pasuje do list_1, chyba że pasuje do list_2. Operatora EXCEPT można używać w listach demonów i listach klientów. Operator EXCEPT może być zagnieżdżony: jeśli język sterowania zezwala na użycie nawiasów, „a WYJĄTEK b WYJĄTEK c” parsuje się jako „(WYJĄTEK (b WYJĄTEK c))”.

Polecenia powłoki

Jeśli pierwsza dopasowana reguła kontroli dostępu zawiera polecenie powłoki, polecenie to podlega% zamiany (patrz następna sekcja). Wynik jest wykonywany przez proces potomny /bin/sh ze standardowym wejściem, wyjściem i błędem podłączonym do /dev/null. Podaj polecenie „&” na końcu polecenia, jeśli nie chcesz czekać, aż się zakończy.

Polecenia powłoki nie powinny opierać się na ustawieniu PATH inetd. Zamiast tego powinni używać bezwzględnych nazw ścieżek lub zacząć od jawnej instrukcji PATH = cokolwiek.

% Rozwinięć

W poleceniach powłoki dostępne są następujące rozszerzenia:
%a (%A) Adres hosta klienta (serwera).
%c Informacje o kliencie: użytkownik @ host, użytkownik @ adres, nazwa hosta lub tylko adres, w zależności od ilości dostępnych informacji.
%d Nazwa procesu demona (wartość argv[0]).
%h (%H) Nazwa lub adres hosta klienta (serwera), jeśli nazwa hosta jest niedostępna.
%n (%N) Nazwa hosta klienta (serwera) (lub „nieznany” lub „paranoiczny”).
%p Identyfikator procesu demona.
%s Informacje o serwerze: daemon@host, daemon @ adres lub po prostu nazwa demona, w zależności od ilości dostępnych informacji.
%u Nazwa użytkownika klienta (lub „nieznana”).
%% Rozwija się do pojedynczego „%? postać.
Znaki w%rozwinięciach, które mogą mylić powłokę, są zastępowane podkreśleniami.