Provided by: rlinetd_0.9.1-1_amd64 

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łania 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
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
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>.
Debian 11 listopada 2013 RLINETD.CONF(5)