Provided by: rlinetd_0.9.1-1_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ł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)