Man page - rlinetd.conf(5)

Packages contains this manual

Available languages:

en pl pt de

Manual

RLINETD.CONF

NAZWA
OPIS
Modyfikatory tekstu
ZOBACZ TAKŻE
AUTOR

NAZWA

rlientd.conf - plik konfiguracyjny programu rlinetd

OPIS

Plik rlinetd.conf zawiera konfigurację programu rlinetd . Składa się on z kilku podobnych do siebie konstrukcji składniowych, różniących się głównie opcjami, których można w nich użyć.

Wszystkie łańcuchy znaków powinny być ujęte w znaki " . W pewnych przypadkach (np. dyrektywy log , exec oraz chroot ) można używać zmiennych, które zostaną automatycznie rozwinięte.
Jeśli nie podano inaczej, wszystkie liczby muszą być liczbami dodatnimi.

service "nazwa" {

...

}

Ta konstrukcja opisuje usługę. Parametr nazwa służy głównie wygodzie użytkownika, pozwala na rozróżnianie komunikatów w pliku logu oraz dostarcza domyślnej wartości opcjom, które jako argument przyjmują nazwę .

enabled

Ta dyrektywa pozwala w prosty sposób włączać lub wyłączać usługę. Argumentem może być albo yes , albo no . Domyślną wartością jest yes . Ustawienie tej opcji na no wyłącza usługę.

Przykład:

enabled no;

port

Ustawia listę portów, na których usługa jest dostępna. Porty można podać zarówno w formacie tekstowym, jak i numerycznym. Jeśli nie podano, domyślnie przyjmuje się port równy nazwie usługi, chyba że usługa jest typu RPC - w tym przypadku port zostanie dynamicznie nadany przez system.

Przykład:

port "telnet", "rcmd", 56, 99;

interface

Ustawia interfejsy, na których usługa będzie nasłuchiwać. Jako argument przyjmuje listę adresów IP odpowiadających adresom skonfigurowanych w systemie interfejsów sieciowych. Jeżeli nie podano lub jeśli ustawiono na specjalną wartość any , to usługa będzie nasłuchiwać na wszystkich dostępnych interfejsach.

Przykłady:

interface 192.168.1.1, 192.168.1.2;

interface any;

exec

Określa linię poleceń usługi. Można używać podstawień zmiennych, patrz Modyfikatory tekstu poniżej.

Przykład:

exec "/usr/sbin/in.telnetd -d";

server

Podaje program do wykonania, jeżeli jest różny od exec .

Przykład:

server "/usr/sbin/tcpd";

protocol

Określa protokół sieciowy używany do nasłuchiwania na portach usługi. Argumentem może być albo tcp , albo udp . Domyślną wartością jest tcp .

Przykład:

protocol tcp;

user

Ustawia identyfikator użytkownika, z którym usługa będzie uruchomiona. Może być podany zarówno w formacie tekstowym (jako nazwa użytkownika), jak i numerycznym. Jeżeli nie ustawiono wartości dyrektywy group , to grupa jest także ustawiana na podstawową grupę użytkownika.

Przykład:

user "nobody";

group

Ustawia identyfikator grupy, z którym usługa będzie uruchomiona. Może być podany zarówno w formacie tekstowym (jako nazwa grupy), jak i numerycznym.

Przykład:

group "system";

backlog

Określa wartość argumentu backlog przekazywanego do wywołania systemowego listen (2).

Przykład:

backlog 30;

instances

Ustawia maksymalną liczbę instancji usługi, która może być uruchomiona jednocześnie. Domyślną wartością jest 40.

Przykład:

instances 50;

wait

Ta dyrektywa naśladuje zachowanie wait demona inetd (8). Argumentem może być albo yes , albo no . Domyślną wartością jest no . Ustawienie tej opcji na yes ustawia także wartość opcji instances na 1.

Przykład:

wait yes;

nice

Określa priorytet procesu, z jakim usługa zostanie uruchomiona. Argument jest przekazywany bezpośrednio do wywołania systemowego setpriority (2). Wartość może być ujemna.

Przykład:

nice -5;

rpc

Określa, że usługa powinna być zarejestrowana jako usługa RPC w systemowym maperze portów portmap (8). Dopuszcza następują argumenty:

rpc {

name "nazwa"; version 3,6,9-15,22;

}

Parametr nazwa jest opcjonalny, a jego domyślną wartością jest nazwa usługi.

chroot

Określa główny katalog usługi. Można używać podstawień zmiennych, patrz Modyfikatory tekstu poniżej.

Przykład:

chroot "/tftpboot/%O";

log

Ta dyrektywa przyjmuje dwa argumenty. Pierwszym musi być albo nazwa symboliczna określona poprzednio w dyrektywie log (patrz niżej), albo słowo syslog . W tym drugim przypadku do logowania komunikatu będzie wywołana funkcja biblioteczna syslog (3). Drugim argumentem jest tekst komunikatu, który będzie logowany. Tekst komunikatu może zawierać zmienne opisane poniżej w sekcji Modyfikatory tekstu .

Przykład:

log syslog "Zakończono obsługę klienta z %O";

tcpd

Dyrektywa włącza stosowanie kontroli dostępu za pomocą tcp_wrappers. Ma ten sam efekt, co uruchomienie usługi z argumentem server ustawionym na /usr/sbin/tcpd (lub gdziekolwiek program tcpd jest zainstalowany), ale pomija uruchomienie tego programu. Akceptuje do dwóch dodatkowych parametrów. Pierwszym jest nazwa usług, do której będą stosowane reguły tcpd, a drugim jest blok instrukcji do wykonania w przypadku dopasowania. Jeśli nie podano nazwy, to domyślnie będzie to nazwa bieżącej usługi. Jeśli nie podano bloku instrukcji, to domyślną wartością jest "exit;".

Przykłady:

tcpd "in.telnetd";

tcpd { exec "/usr/local/bin/winnuke %O"; }

tcpd "pointless" { echo "Cześć chłopaki, wejdźcie." ; }

tcpd "bunt" { echo "500 Dostęp z %O zabroniony." ; exit; }

exit

Ta dyrektywa jest użyteczna tylko w bloku instrukcji będącym argumentem dyrektywy exit . Uwaga - jeśli nie zostanie użyta (i nie poda się innej dyrektywy kończącej przetwarzanie, takiej jak exec ) spowoduje, że usługa będzie działać wiecznie.

Przykład:

exit;

capability

Dyrektywa określa uprawnienia (capabilities), które proces będzie miał w czasie działania. Argumentem jest łańcuch znaków przekazywany bezpośrednio do funkcji cap_from_text (3). Wiem, że ten opis jest kiepski, jednakże użyteczność tej dyrektywy i tak nie będzie zbyt wielka, dopóki użytkownik nie przeczyta pliku README.capabilities.

Przykład:

capability "cap_setuid=ep";

rlimit

Ta dyrektywa przyjmuje dwa argumenty. Pierwszy określa typ żądanego limitu - dostępne typy są podane niżej. Drugi argument przyjmuje jedną z dwu postaci, gdyż może być albo pojedynczą wartością numeryczną, co oznacza ustawienie zarówno miękkiego, jak i twardego limitu, albo może być podany następująco:

rlimit type {

soft x; hard y;

}

W tym przypadku twardy i miękki limit zostaną odpowiednio ustawione. W obu przypadkach można użyć wartości unlimited do usunięcia jakichkolwiek ograniczeń. Wartości są przekazywane bezpośrednio do wywołania systemowego setrlimit (2).

Typy:

cpu, fsize, data, stack, core, rss, nproc, nofile, memlock

Przykład:

rlimit cpu 15;

initgroups

Argumentem może być yes lub no . Ta dyrektywa powoduje, że w czasie uruchomiania usługi zostanie wywołana funkcja initgroups (3), która ustawia dodatkowe grupy usługi zgodne z plikiem /etc/group .

Przykład:

initgroups yes;

family

Dyrektywa określa rodzinę protokołów, w której rlinetd przypisze gniazda dla usługi. Obecnie może to być albo ipv4 , albo ipv6 . Jeśli nie podano, domyślna wartość zależy od systemu.

Przykład:

family ipv6;

banner

Ta dyrektywa pozwala przesłać zawartość pliku jako dane wyjściowe połączenia.

Przykład:

banner "/etc/nologin";

echo

Ta dyrektywa pozwala przesłać poprzez połączenia dynamicznie wygenerowaną linię tekstu.

Przykład:

echo "500 Usługa niedostępna dla Twojego IP (%O)";

filter

Dyrektywa pozwala na podanie programu filtrowania gniazd do skojarzenia z gniazdem nasłuchiwania. Może zostać wygenerowany przez narzędzie takie jak lfscc (1).

Przykład:

filter "/usr/local/lib/rlinetd/filters/privport";

chargen

Dyrektywa powoduje nieskończoną pętlę wypisywania danych do połączenia. Jeśli nie podano argumentu, przesyłany jest podzbiór znaków drukowalnych. Jednakże można podać nazwę pliku jako argument, co spowoduje przesyłanie w pętli zawartości tego pliku.

Przykład:

chargen "/usr/local/lib/spam";

log "nazwa" {

...

}

Ta konstrukcja składniowa opisuje cel logowania. Parametr nazwa jest używany jako argument dyrektywy log w sekcjach service .

path

Określa ścieżkę do pliku logu.

Przykład:

path "/var/log/service.log";

mode

Określa prawa dostępu do pliku logu. Argument musi być numeryczny i jeśli nie jest podany, to przyjmuje się 0640 jako wartość domyślną.

Przykład:

mode 0600;

user

Określa właściciela pliku logu i może zostać podane zarówno jako numeryczne ID, jak i jako nazwa użytkownika.

Przykład:

user "adm";

group

Określa właściciela pliku logu i może zostać podane zarówno jako numeryczne ID, jak i jako nazwa grupy.

Przykład:

group "adm";

defaults {

...

}

Ta konstrukcja przyjmuje takie same parametry jak deklaracja usługi (dyrektywa service ), ale zamiast określać usługę, ustawia wartości domyślna dla wszystkich skonfigurowanych usług.

directory "ścieżka" "pasujące" "ignorowane";

Składnia określa katalog zawierający dodatkowe pliki konfiguracyjne do przetworzenia. Przetwarzanie tych plików rozpocznie się po zakończeniu przetwarzania bieżącego pliku. Argumenty pasujące i ignorowane są nieobowiązkowe, a jeśli zostaną podane, to są używane do filtrowania plików w podanym katalogu, Nazwy plików muszą pasować do wyrażenia regularnego pasujące i nie mogą pasować do wyrażenia regularnego ignorowane . Pliki zaczynające się od kropki (".") są zawsze pomijane. Katalogi nie są przetwarzane rekurencyjnie.

Modyfikatory tekstu

Jest kila zmiennych, które mogą być podstawione w argumentach niektórych dyrektyw. Chociaż można ich używać w tych samych miejscach, nie we wszystkich z nich informacje dostarczane przez te zmienne będą dostępne.

%O

Źródłowy adres IP połączenia.

%P

Źródłowy port połączenia.

%C

Całkowity użyty czas procesora.

%U

Czas procesora spędzony na wywoływaniu funkcji użytkownika.

%S

Systemowy czas CPU.

%r

Maksymalna ilość pamięci procesu w RAM-ie (resident set size).

%m

Rozmiar pamięci współdzielonej.

%d

Rozmiar danych niedzielonych.

%s

Niedzielony rozmiar stosu.

%f

Zwroty stron.

%F

Błędy stron.

%p

Wymiany.

%i

Operacje wejściowe na blokach.

%o

Operacje wyjściowe na blokach.

%n

Wysłane komunikaty.

%c

Odebrane komunikaty.

%k

Odebrane sygnały.

%w

Dobrowolne zmiany kontekstu.

%W

Wymuszone zmiany kontekstu.

%e

Kod zakończenia.

%t

Czas działania.

%M

Bieżący czas podany jako sekundy od początku epoki (1980), przesłany jako 32-bitowa liczba w porządku sieciowym. Nie ma z tego absolutnie żadnego pożytku, z wyjątkiem implementowania funkcjonalności podobnej do tej dostępnej w inetd.

%I

Bieżące data i czas w formacie ctime (3).

ZOBACZ TAKŻE

rlinetd (8), hosts_access (5)

AUTOR

Ten podręcznik ekranowy napisał Mikolaj J. Habryn <dichro-doc@rcpt.to>, a zmodyfikował Robert Luberda <robert@debian.org>.