Man page - rlinetd.conf(5)
Packages contains this manual
Available languages:
en pl pt deManual
RLINETD.CONF
NAZWAOPIS
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>.