services

Autres langues

Langue: pl

Autres versions - même langue

Version: 1996-01-11 (openSuse - 09/10/07)

Section: 5 (Format de fichier)

NAZWA

services - lista us³ug sieci Internet

OPIS

services jest plikiem tekstowym umo¿liwiaj±cym wzajemne przyporz±dkowanie pomiêdzy przyjaznymi nazwami us³ug a odpowiednimi numerami portów i rodzajami protoko³ów. Ka¿da aplikacja sieciowa powinna konsultowac z tym plikiem numer portu (i protoko³u) dla okre¶lonej us³ugi. Funkcje biblioteki C getservent(3), getservbyname(3), getservbyport(3), setservent(3) i endservent(3) obs³uguj± zapytania dotycz±ce zawarto¶ci tego pliku od programów.

Numery portów s± przydzielane przez IANA (Internet Assigned Numbers Authority), ich aktualna polityka to przydzielanie numeru portu jednocze¶nie dla obu protoko³ów: TCP i UDP. Dlatego wiêkszo¶æ us³ug w pliku services posiada podwójne rekordy, nawet w przypadku us³ug dzia³aj±cych tylko po TCP.

Numery portów poni¿ej 1024 (tzw. niskie porty, porty o niskich numerach) mog± byæ otwierane jedynie przez administratora (patrz bind(2), tcp(7) i udp(7)). Oznacza to, ¿e klient ³±cz±cy siê z niskim numerem portu mo¿e mieæ pewno¶æ, ¿e program obs³ugi na tym porcie jest standardowym programem systemowym, a nie dowolnym programem u¿ytkownika danego komputera. Popularne numery portów okre¶lone przez IANA s± zwykle umieszczane w tym w³a¶nie przedziale portów administratora.

Obecno¶æ pozycji dotycz±cej us³ugi w pliku services nie oznacza, ¿e dana us³uga jest aktualnie obs³ugiwana przez maszynê. Konfiguracjê obs³ugiwanych us³ug internetowych mo¿na znale¼æ w pliku inetd.conf(5). Nale¿y równie¿ pamiêtaæ, ¿e nie wszystkie us³ugi sieciowe s± uruchamiane przez inetd(8), a zatem plik inetd.conf(5) nie zawiera wszystkich us³ug ¶wiadczonych przez dany komputer. W szczególno¶ci serwery news (NNTP) i poczty (SMTP) s± zwykle uruchamiane z systemowych skryptów startowych.

Po³o¿enie pliku services jest zdefiniowane jako _PATH_SERVICES w pliku /usr/include/netdb.h. Zwykle jest to /etc/services.

Ka¿dy wiersz tego pliku opisuje jedn± us³ugê i ma nastêpuj±c± postaæ:

nazwa-us³ugi   port/protokó³   [aliasy ...]
gdzie:
nazwa-us³ugi
jest to przyjazna dla cz³owieka nazwa, pod któr± us³uga jest znana i pod któr± jest poszukiwana. Rozró¿nia siê ma³e i wielkie litery. Czêsto program kliencki jest nazywany tak jak nazwa-us³ugi.
port
numer portu (liczba dziesiêtna), z którego ma dana us³uga korzystaæ.
protokó³
rodzaj protoko³u, jaki ma byæ wykorzystywany. To pole powinno zawieraæ jeden z protoko³ów zdefiniowanych w pliku protocols(5). Zwykle jest to tcp lub udp.
aliasy
jest to opcjonalna lista rozdzielonych spacjami lub znakami tabulacji innych nazw tej samej us³ugi (ale zajrzyj te¿ do sekcji B£ÊDY, poni¿ej). Tu te¿ rozró¿nia siê ma³e i wielkie litery.

Poszczególne pola mog± byæ rozdzielane spacjami lub znakami tabulacji.

Komentarze rozpoczynaj± siê od znaku krzy¿yka # a¿ do koñca wiersza. Puste wiersze s± pomijane.

nazwa-us³ugi powinna siê rozpoczynaæ w pierwszej kolumnie pliku, poniewa¿ pocz±tkowe spacje nie s± pomijane. nazwa-us³ugi mo¿e siê sk³adaæ z dowolnych widocznych znaków, z wyj±tkiem spacji i znaku tabulacji. Jednak¿e w celu zmniejszenia k³opotów z przeno¶no¶ci± powinny byæ u¿yta znaki z bardziej ograniczonych zakresów. Np. a-z, 0-9 i my¶lnik (-) wydaje siê byæ rozs±dnym wyborem.

Wiersze nie odpowiadaj±ce temu formatowi nie powinny znajdowaæ siê w pliku. (Obecnie s± one pomijane przez funkcje getservent(3), getservbyname(3) i getservbyport(3). Jednak¿e nie nale¿y polegaæ na tym zachowaniu.)

Jako cecha zgodno¶ci z poprzednimi wersjami, uko¶nik (/) pomiêdzy numerem portu a nazw± protoko³u mo¿e byæ w rzeczywisto¶ci równie¿ przecinkiem (,). Jednak stosowanie przecinka w nowych instalacjach nie jest zalecane.

Plik ten mo¿e byæ rozpowszechniany w sieci za po¶rednictwem takich ogólnosieciowych us³ug nazewnictwa, jak Yellow Pages/NIS lub BIND/Hesiod.

Przyk³adowy plik services móg³by wygl±daæ tak:






netstat         15/tcp

qotd            17/tcp          quote

msp             18/tcp          # message send protocol

msp             18/udp          # message send protocol

chargen         19/tcp          ttytst source

chargen         19/udp          ttytst source

ftp             21/tcp

# 22 - unassigned

telnet          23/tcp



B£ÊDY

Ze wzglêdu na sposób, w jaki jest napisana funkcja getservent(3) istnieje ograniczenie liczby aliasów do 35.

Wiersze d³u¿sze ni¿ BUFSIZ (obecnie 1024) bêd± ignorowane przez funkcje getservent(3), getservbyname(3) i getservbyport(3). Spowoduje to równie¿ b³êdne zinterpretowanie nastêpnego wiersza.

PLIKI

/etc/services
lista us³ug sieci Internet
/usr/include/netdb.h
definicja sta³ej _PATH_SERVICES

ZOBACZ TAK¯E

listen(2), endservent(3), getservbyname(3), getservbyport(3), getservent(3), setservent(3), inetd.conf(5), protocols(5), inetd(8).

Przydzielone numery mo¿na znale¼æ w RFC 1700 (inaczej, STD0002)

Przewodnik po us³udze Yellow Pages

Przewodnik po us³udze BIND/Hesiod