Provided by: rlinetd_0.7-1_i386 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, 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 "Zakoczono obsug  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 chopaki, wejdcie." ; }

                       tcpd "bunt" { echo "500 Dostp 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 Usuga niedostpna 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  pasujce  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
              pasujce 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>.