Provided by: rlinetd_0.9.3-2_amd64 bug

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>.

Debian                                          11 listopada 2013                                RLINETD.CONF(5)