Skip to main content

Linux / Unixの/ etc / servicesとは何ですか?

Creating systemd Service Files (六月 2026)

Creating systemd Service Files (六月 2026)
Anonim

UNIXオペレーティングシステムは、サービスファイルと呼ばれるものを/ etc / servicesに格納します。クライアントアプリケーションがコンピュータ上で使用する多数のサービスに関する情報を格納します。ファイル内には、サービス名、使用するポート番号とプロトコル、および適用可能なエイリアスがあります。

ポート番号は、Windowsコンピュータ上のhostsファイルがホスト名をIPアドレスにマップするのと同じように、特定のサービスにマップされます。ただし、UNIXオペレーティングシステムのサービスファイルには、IPアドレスは含まれず、サービスがTCPかUDPかなどの情報と、どのような一般名が使用されているかなどの情報が含まれています。

単純なテキストエディタを使って、VimやKateのような/ etc / servicesファイルを編集することができます。

UNIXサービスファイルの例

UNIXでは、設定ファイル/ etc / servicesの重要な役割は、プログラムがどのポートを使用すべきかを理解するためにコードでgetportbyname()ソケット呼び出しを行うことができるようにすることです。たとえば、POP3電子メールデーモンは、POP3が実行されている番号110を取得するためにgetportbyname(POP3)を実行します。

考えられるのは、すべてのPOP3デーモンがgetportbyname()を使用する場合、どのPOP3デーモンを実行しても、/ etc / servicesを編集することによっていつでもポート番号を再設定できます。

注意: ポート番号の意味を理解するためにservicesファイルを使用することは信頼できません。プログラムが使用しているポートを調べたい場合は、代わりにプログラムlsofを使用して、どのポートがどのプロセスにバインドされているかを正確に調べる必要があります。 lsofが適切でない場合は、より一般的な参照でポートを調べる必要があります。

すべてのサービスファイルは、次の同じ構文に従います。

名前ポート/プロトコルエイリアスのコメント

ただし、この例のservicesファイルに示すように、各データベースエントリのエイリアスとコメントは必要ありません。

$ cat / etc / services##Copyright 2008 Sun Microsystems、Inc.すべての権利を保有します。#使用はライセンス条項の対象です。##ident "@(#)services 1.34 08/11/19 SMI"##ネットワークサービス、インターネットスタイル#tcpmux 1 / tcpecho 7 / tcpエコー7 / udp破棄9 / tcpシンクnull破棄9 / udpシンクnullsystat 11 / tcpユーザー昼間13 / tcp昼間13 / udpnetstat 15 / tcpチャージン19 / tcp ttytstソース19 / udp ttytstソースを充電するftp-data 20 / tcpftp 21 / tcpssh 22 / tcp#Secure Shelltelnet 23 / tcpsmtp 25 / tcp mailtime 37 / tcp timservertime 37 / udp timserver名前42 / udpネームサーバーwhois 43 / tcp nicname#通常はsri-nicへswat 901 / tcp#Samba Web Adm.Toolservicetag 6481 / udpservicetag 6481 / tcpsnmpd 161 / udp snmp#SMA snmpデーモン$