NAZWA¶
inetd —
super-serwer internetu
SKŁADNIA¶
inetd [
-d]
[
plik konfiguracyjny]
OPIS¶
Uwaga! To tłumaczenie może być nieaktualne!
Inetd powinien być wywoływany podczas startu systemu
z
/etc/rc.local (zobacz
rc(8)).
Nasłuchuje on później połączeń na
określonych gniazdach internetowych. Gdy na jednym z gniazd zaistnieje
połączenie, decyduje on, jakiej usłudze to gniazdo odpowiada i
wywołuje program, który obsłuży żądanie. Po
zakończeniu programu, inetd kontynuuje nasłuchiwania gniazda (poza
niektórymi wypadkami, opisanymi poniżej). Ogólnie,
inetd umożliwia używanie jednego daemona do
wywoływania wielu innych, zmniejszając wymagane obciążenie
systemu.
Opcje dostępne dla
inetd:
- -d
- Włącza debuggowanie.
Podczas uruchamiania,
inetd odczytuje swoją
konfigurację z pliku konfiguracyjnego, którym domyślnie jest
/etc/inetd.conf. Musi tam być wpis dla każdego
pola pliku konfiguracyjnego, z poszczególnymi wpisami dla danego pola;
wpisy są oddzielane znakiem tabulacji lub spacji. Komentarze są
zaznaczane przez ``#'' na początku linii. Musi istnieć wpis dla
każdego pola. Pola pliku konfiguracyjnego są następujące:
nazwa usługi (service name)
rodzaj gniazda (socket type)
protokół (protocol)
określenie, czy usługa ma "zwlekać" (wait/nowait[.max])
użytkownik[.grupa] (user[.group])
program serwera (server program)
argumenty programu serwera (server program arguments)
Aby podać usługę opartą o
Sun-RPC , wpis
powinien zawierać te pola.
nazwa usługi/wersja (service name/version)
rodzaj gniazda (socket type)
rpc/protokół (rpc/protocol)
zwłoka (wait/nowait[.max])
użytkownik[.grupa] (user[.group])
program serwera (server program)
argumenty programu serwera (server program arguments)
Wpis
nazwa-usługi jest nazwą prawidłowej
usługi, zdefiniowanej w pliku
/etc/services. Dla
usług “wewnętrznych” (internal) (opisanych niżej),
nazwa usługi musi być oficjalną nazwą usługi (to
znaczy pierwszym wpisem w
/etc/services). Podczas podawania
usługi opartej o
Sun-RPC , pole to jest
prawidłową nazwą usługi RPC, zdefiniowaną w pliku
/etc/rpc. Część na prawo od “/”
jest numerem wersji RPC. Może to być zwyczajny argument numeryczny,
lub zakres wersji. Zakres jest obramowany od niższej wersji do
wyższej - “rusers/1-3”.
Wpis
rodzaj gniazda powinien być jednym z
“stream”, “dgram”, “raw”,
“rdm”, lub “seqpacket”, zależnie od tego, czy
gniazdo jest strumieniowe (stream), datagramowe (datagram), lub typu raw,
reliably delivered message, czy też sequenced packet.
Pole
protokół musi być prawidłowym
protokołem, zdefiniowanym w
/etc/protocols.
Przykładami mogą być “tcp” lub “udp”.
Usługi oparte o RPC są określane przez “rpc/tcp”
lub “rpc/udp.”
Wpis
zwłoka jest używany tylko dla gniazd
datagramowych (inne gniazda powinny mieć wpis “nowait” ).
Jeśli serwer datagramowy łączy się ze swoim
rozmówcą, zwalniając gniazdo w ten sposób, że
inetd może odbierać dalsze wiadomości z tego
gniazda, to mówi się o nim jako o serwerze
“wielowątkowym” (multi-threaded) i powinno się
używać wpisu “nowait” Serwery datagramowe, które
przetwarzają wszystkie nadchodzące do gniazda datagramy, ewentualnie
mające timeouty, nazywa się “jednowątkowymi”
(single threaded) i powinno używać się dla nich wpisu
“wait.”
Comsat(8) (
biff(1)) i
talkd(8) są przykładami tego drugiego rodzaju
serwerów datagramowych.
Tftpd(8) jest wyjątkiem;
jest to serwer datagramowy, który zestawia pseudopołączenia.
Musi być zdefiniowany jako “wait” aby zapobiec
wyścigowi; serwer odczytuje pierwszy pakiet, tworzy nowe gniazdo,
następnie forkuje i wychodzi, aby
inetd mógł
robić swoje i oczekiwać na nowe żądania usług,
które (jak zwykle) przyłącza następnie do odpowiednich
innych serwerów. Opcjonalny przyrostek “max” (oddzielony od
“wait” lub “nowait” kropką) określa
maksymalną liczbę instancji serwera, jakie mogą zostać
postawione przez
inetd w czasie 60 sekund. Gdy zostanie to
pominięte, “max” przyjmuje wartość 40.
Wpis
użytkownik powinien zawierać nazwę
użytkownika użytkownika, pod którym powinien uruchamiać
się serwer. Umożliwia to serwerom posiadanie mniejszych praw
niż prawa roota. Opcjonalnie, po dodaniu kropki do nazwy
użytkownika, można podać w tym polu nazwę grupy.
Umożliwia to serwerom pracę w innym (podstawowym) id grupy niż
ten, podany w pliku z hasłami. Jeśli grupa jest podana, a
użytkownik nie jest rootem, to uzupełniające grupy
związane z użytkownikiem wciąż będą ustawione.
Wpis
program serwera powinien zawierać
ścieżkę programu, który ma być wywoływany przez
inetd po otrzymaniu żądania na gnieździe.
Jeśli
inetd udostępnia tę usługę
wewnętrznie, to wpis ten powinien być wpisem “internal”.
Wpis
argumenty programu serwera powinien wyglądać
tak jak zwykłe argumenty, poczynając od argv[0], który jest
nazwą programu. Jeśli usługa jest udostępniana
wewnętrznie, to wpis powinien przyjąć nazwę
“internal.”
Inetd udostępnia wiele “trywialnych”
usług wewnętrznie, używając do tego swoich własnych
procedur. Tymi usługami są “echo”,
“discard”, “chargen” (generator znaków),
“daytime” (odczytywalny przez człowieka czas) oraz
“time” (czas odczytywalny przez maszynę, liczba sekund od
północy 1 stycznia 1900). Wszystkie te usługi są oparte o
tcp. Dla dalszych szczegółów o tych usługach, skonsultuj
się z odpowiednim RFC z Centrum Informacji Sieci (Network Information
Center).
Inetd odczytuje swój plik konfiguracyjny od nowa gdy
otrzyma sygnał zawieszenia (hangup), czyli
SIGHUP
. Usługi mogą być tak dodawane,
kasowane lub modyfikowane.
Inetd tworzy plik
/etc/inetd.pid który zawiera jego identyfikator procesu
(PID).
ZOBACZ TAKŻE¶
comsat(8),
fingerd(8),
ftpd(8),
rexecd(8),
rlogind(8),
rshd(8),
telnetd(8),
tftpd(8)
HISTORIA¶
Komenda
inetd pojawiła się w
4.3BSD. Wsparcie dla usług opartych o
Sun-RPC zostało zmodelowane wg udostępnionego
przez
Sun-OS 4.1.
Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu
Tłumaczenia Manuali i
może nie być aktualne. W razie
zauważenia różnic między powyższym opisem a
rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o
zapoznanie się z oryginalną (angielską) wersją strony
podręcznika za pomocą polecenia:
man --locale=C 8 inetd
Prosimy o pomoc w aktualizacji stron man - więcej informacji można
znaleźć pod adresem
http://sourceforge.net/projects/manpages-pl/.