Provided by: rlinetd_0.8-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>.