Provided by:
rlinetd_0.7-1_i386 
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, to domyślną wartością jest
INADDR_ANY, która oznacza nasłuchiwanie na wszystkich
dostępnych interfejsach.
Przykład:
interface 192.168.1.1, 192.168.1.2;
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>.