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