INETD(8)

명칭
inetd - 인터넷 “슈퍼 서버”

서식
inetd [-d] [-l] [-w] [-W] [-c maximum] [-C rate] [-s maximum] [-a address | hostname] [-p filename] [-R rate] [configuration file]

해설
inetd 유틸리티는, 부트시에 /etc/rc 중(안)에서 기동됩니다 ( rc(8) 참조). 기동되면(자), inetd (은)는 정해진 인터넷 소켓을 감시해, 접속 요구를 기다립니다. 감시하고 있는 소켓에 대해서 접속 요구가 나오면(자), inetd (은)는 그 소켓에 대응한 서비스를 판정해, 서비스를 제공하는 프로그램을 기동합니다. 서버 프로그램은 서비스 소켓을 표준 입력·표준 출력· 에러 출력으로서 기동됩니다. 서비스 프로그램이 완료하면(자), inetd (은)는 다시 소켓의 감시를 행합니다 (후술 하는 것 같은 예외도 있습니다). inetd (을)를 이용하면 1 살의 demon로 복수의 서비스 프로그램을 기동할 수가 있으므로, 시스템의 부하를 경감할 수가 있습니다.

inetd (은)는, 기동시에 이하의 옵션을 지정할 수 있습니다.

-d  디버그 모드로 합니다.

-l  성공한 접속의 로그를 취합니다.

-w  외부 서비스에 대해서 TCP Wrapping 를 온으로 합니다. TCP Wrappers 서포트에 대한 한층 더 정보에 대해서는, 실장에 관한 주 시에를 참조해 주세요.

-W  inetd 편입의 내부 서비스에 대해서 TCP Wrapping 를 온으로 합니다.

-c maximum
    동시에 기동 가능한 서비스의, 디폴트에 있어서의 최대치를 지정합니다. 디폴트에서는, 무제한합니다. 서비스 마다 지정되는 "max-child" 파라미터에 의해 덧쓰기될 수 있습니다.

-C rate
    1 분간에 단일의 IP 주소로부터 기동되는 서비스의 디폴트에 있어서의 최대치 (을)를 지정합니다. 디폴트는 미설정입니다. 서비스 마다 지정되는 "max-connections-per-ip-per-minute" 파라미터에 의해 덧쓰기될 수 있습니다.

-R rate
    1 분간에 기동할 수 있는 최대의 서비스수를 지정합니다. 디폴트는 256 입니다. rate 에 0 을 지정하면(자), 기동 가능한 수는 무제한하게 됩니다.

-s maximum
    단일 IP 주소에 대해서 동시 기동 가능한 각 서비스의 최대수의 기본값입니다. 디폴트는 무한합니다. 「IP 근처의 아이의 수의 최대」파라미터를 사용해, 서비스마다 덧쓰기 가능합니다.

-a  바인드 하는 IP 주소를 1 개 지정합니다. 대신에, 호스트명을 지정 가능합니다. 이 경우, 호스트명에 대응하는 IPv4 또는 IPv6 의 주소가 사용됩니다. 통상, inetd 하지만 jail(8) 안에서 기동되는 시점에서, 호스트명이 지정됩니다. 이 경우, 호스트명은 jail(8) 환경에 대응하는 것입니다.

    호스트명 지정이 사용되어 IPv4 및 IPv6 양쪽 모두의 바인드를 바라는 경우, /etc/inetd.conf 의 각 서비스에 대해서, 각 바인드에 대한 적절한 프로토콜 의 엔트리가 필요합니다. 예를 들면 TCP 베이스의 서비스는 2 엔트리가 필요하고, 하나는 프로토콜 에 “tcp4” (을)를 사용해, 또 하나는 “tcp6” (을)를 사용합니다. 다음에 설명한다 /etc/inetd.conf 의 프로토콜 필드를 참조해 주세요.

-p  디폴트와는 다른 프로세스 ID 를 보관 유지하는 파일을 지정합니다.

inetd (은)는 실행시로 설정 정보를 설정 파일로부터 읽어들입니다. 디폴트에서는 설정 파일은 /etc/inetd.conf 입니다. 설정 파일의 각 필드에는 엔트리가 1 개 없으면 안됩니다. 각 필드의 엔트리는 탭이나 스페이스에서 단락짓습니다. 코멘트는 줄머리에 “#” (을)를 붙입니다. 설정 파일의 필드는 이하의 것으로부터 됩니다:

    서비스명
    소켓 타입
    프로토콜
    {wait|nowait}[/최대 child process수[/IP근처의 분 쯤의 최대 접속수[/IP근처의 아이의 수의 최대]]]
    유저명[:크루프명][/로그인 클래스명]
    서버 프로그램명
    서버 프로그램 인수

ONC RPC 베이스의 서비스를 기술하는 경우에는, 이하의 엔트리를 기술합니다.

    서비스명/버젼
    소켓 타입
    RPC/프로토콜
    유저명
    서버 프로그램명
    서버 프로그램 인수

inetd 하지만 기동할 수 있는 서비스는 2 종류 있습니다. 1 개(살)은 표준으로, 이제(벌써) 1 개(살)은 TCPMUX 입니다. 표준 서비스에는 할당할 수 있었던 well-known 포트가 있습니다. 이것은 공식의 인터넷 표준을 실장한 서비스나 BSD 특유의 서비스입니다. RFC 1078 에 쓰여져 있도록(듯이), TCPMUX 는 비표준 서비스이며, well-known 포트를 할당할 수 있고 있지 않습니다. 그렇게 말한 비표준 서비스는, 어느 프로그램이 “tcpmux” well-known 포트에 접속해 그 서비스명을 지정했을 때, inetd 에 의해 기동됩니다. 이 기능은 로컬에 개발된 서버를 추가할 경우에 편리합니다. TCPMUX 리퀘스트가 수리되는 것은, TCPMUX 베이스의 서버에 이르기까지 두어, 멀티플렉서 서비스 자신이 유효하게 되고 있을 때 뿐입니다. 후술의 내부 서비스에 관한 논의를 참조해 주세요.

서비스명 의 엔트리에는, /etc/services 파일에 기술되고 있는 서비스명인가, UNIX 도메인 소켓 (후술)의 지정이 기술됩니다. “내부” 서비스 (후술)에 대해서는, 이름으로서 그 서비스의 오피셜명 (즉 /etc/services 안의 최초의 엔트리)를 지정해야 합니다 ONC RPC 베이스의 서비스를 지정하기 위해서는, 이 필드는 /etc/rpc 에 쓰여진 유효한 RPC 서비스명이 아니면 안됩니다. “/” 의 오른쪽의 부분이 RPC 의 버젼 번호입니다. 버젼 번호는, 숫자 혹은, 버젼의 폭 (레인지)으로 지정합니다. 폭을 지정하는 경우는 낮은 번호로부터 높은 번호를 지정합니다. 예를 들어 “rusers/1-3” (와)과 같이 기술합니다. TCPMUX 서비스에서는, 서비스명 의 필드는, 캐릭터 라인 “tcpmux” , slash, 그리고 로컬로 선택된 서비스명으로부터 됩니다. /etc/services 에 쓰여진 서비스명과 “help” (은)는 예약제이며, 로컬인 서비스명에는 사용할 수 없습니다. TCPMUX 서비스를 위해서(때문에) 독특한 이름을 붙이려면 , 머리에 조직명을 적어 말미에 버젼 번호를 매기면(자) 좋을 것입니다.

소켓 타입 의 엔트리는, “stream”, “dgram”, “raw”, “rdm”, “seqpacket” 의 언젠가일 필요가 있습니다. 각각, 소켓이 stream, datagram, raw, reliably delivered message, sequenced packet socket 인 경우에 대응하고 있습니다. TCPMUX 서비스는 “stream” (을)를 사용하지 않으면 안됩니다.

프로토콜 의 엔트리에는, 유효한 프로토콜명인가 “unix” 하지만 기술됩니다. 예를 들면 “tcp” (이)나 “udp” 등입니다. 이 경우, 후방 호환성이기 때문에, 암묵적으로 본엔트리는 IPv4 를 의미합니다. 이름 “tcp4”, “udp4” (은)는, IPv4 만을 지정합니다. 이름 “tcp6”, “udp6” (은)는, IPv6 만을 지정합니다. 이름 “tcp46”, “udp46” (은)는, 엔트리에 IPv4 와 와일드 카드 AF_INET6 소켓 경유의 IPv6 의 양쪽 모두를 수리시킵니다. 서비스가 T/TCP 경유로 도달 가능과 하기 위해서는, “tcp/ttcp” (을)를 지정할 필요가 있습니다. 후방 호환성이기 때문에, 암묵적으로 본엔트리는 IPv4 를 의미합니다. 이름 “tcp4/ttcp” (은)는, IPv4 만을 지정해, 이름 “tcp6/ttcp” (은)는, IPv6 만을 지정합니다. 이름 “tcp46/ttcp” (은)는, 엔트리에 IPv6 와 와일드 카드 AF_INET6 소켓 경유의 IPv6 의 양쪽 모두를 수리시킵니다. RPC 베이스의 서비스의 경우, “rpc/tcp” (이)나 “rpc/udp” (와)과 같은 지정이 됩니다. IPv4 와 IPv6 를, 4, 6, 46 의 몇개의 사픽스를 사용해 지정 가능합니다. 예를 들면 “rpc/tcp6” (이)나 “rpc/udp46” (으)로 합니다. TCPMUX 서비스는 “tcp”, “tcp4”, “tcp6”, “tcp46” 의 어느쪽이든을 사용할 필요가 있습니다.

wait/nowait 엔트리는, inetd 에 의해 기동된 서버가 서비스 액세스 포인트에 관련지을 수 있었던 소켓을 계승하는지 어떤지, 즉 서버가 종료할 때까지 inetd 하지만 새로운 서비스 요구를 감시하는 것을 기다릴 필요가 있는지 아닌지를 지정합니다. datagram 서버는, 특정의 서비스 주소와 결부되었다 datagram 소켓으로 매회 기동되기 (위해)때문에, “wait” (을)를 사용하지 않으면 안됩니다. 이러한 서버는, 종료하기 전에 적어도 1 데이터 그램을 소켓으로부터 읽지 않으면 안됩니다. 만약 datagram 서버가 상대에게 접속했을 때 소켓을 해방한다면, inetd (은)는 소켓에 대한 메세지를 한층 더 받을 수가 있습니다. 이러한 서버는 “multi-thread” 서버로 불립니다. 서버는 소켓으로부터 datagram 를 1 개 읽어들여, 상대에게 접속하는 새롭다 소켓을 만듭니다. 서버는 fork()를 실시해, parent process측은 종료하지 않으면 안됩니다. 이것에 의해 inetd (은)는 새로운 서비스 요구를 체크해, 새로운 서버를 기동하는 것이 할 수 있게 됩니다. 들어 오는 모든 datagram 를 처리해, 마감 시간까지 동작하는 datagram 서버는, “싱글스 레드” 서버로 불립니다. comsat(8), (biff(1)), talkd(8) (은)는 후자의 타입의 datagram 서버의 예입니다. tftpd(8) (은)는 multi-thread로 움직이는 datagram 서버의 예입니다.

stream 소켓을 사용하는 서버는 일반적으로 multi-thread로 움직여 “nowait” 엔트리를 사용합니다. 이러한 서버에의 접속 요구는 inetd 그리고 받아들일 수 있어 새롭게 수리해, 클라이언트로 연결되었다 소켓만이 서버에게 줄 수 있습니다. 많은 stream 베이스의 서비스는 이와 같이 행해집니다. “wait” 엔트리를 사용하는 stream 베이스의 서버는, 서비스의 소켓을 감시해, 적어도 1 개의 접속 요구를 받아들이고 나서 종료하지 않으면 안됩니다. 그렇게 말한 서버는 통상, 마감 시간이 될 때까지, 들어 오는 요구를 접수 처리합니다. TCPMUX 서비스는 “nowait” (을)를 사용하지 않으면 안됩니다.

“nowait” 서비스의 child process (혹은 “thread” )의 최대수는, “nowait” 키워드의 뒤에 “/” (와)과 숫자를 덧붙이는 것으로 지정할 수 있습니다. 통상 (혹은 0 이 지정되었을 경우), child process의 수에 제한은 없습니다. 한편, 최대수에 이르면(자), 그 이후의 접속 요구는, 존재하는 child process가 종료할 때까지 기다리는 행렬에 저축할 수 있습니다. 이것은, “wait” 모드에서도 같습니다만, 통상은 1 (디폴트의 값) 이외는 의미가 없습니다. 지정한 IP 주소로부터의 1 분 쯤의 최대 접속수를 지정하는 일도 가능합니다. 이 경우, “/” 및 최대 child process수를 지정합니다. 최대치에 이르렀을 경우, 지정한 IP 주소로부터의 접속은, 이 1 분이 경과할 때까지, 떨어뜨려집니다. 게다가 단일 IP 주소에 대해서 동시 기동 가능한 각 서비스의 최대수의 지정이, “/” 에 이어 미완료의 child process의 최대수를 추가하는 것으로 가능합니다. 최대치에 이르렀을 경우, 지정한 IP 주소로부터의 접속은, 떨어뜨려집니다.

유저명 엔트리에는, 서버를 실행하는 유저명을 씁니다. 이것에 의해 서버를 root 보다 낮은 권한으로 실행할 수 있습니다. 옵션의 그룹명 부분은 “”: 그리고 나눌 수 있어 이 유저의 디폴트 그룹 이외의 그룹명을 지정 가능합니다. 옵션의 로그인 클래스명 부분은 “/” 그리고 나눌 수 있어 디폴트의 “daemon” 이외의 로그인 클래스명을 지정 가능합니다.

서버 프로그램명 의 엔트리에는, 소켓에 요구가 있었을 때 inetd 하지만 기동해, 해당 엔트리의 서비스를 제공한다 서버 프로그램의 패스명을 지정합니다. inetd 내부에 벌써 실장되고 있는 서비스를 제공하는 경우에는, 서버 프로그램으로서 “internal” (을)를 지정합니다.

서버 프로그램 인수 의 엔트리는, 서버를 기동할 때의 인수를, 서버 프로그램의 기동 캐릭터 라인 인 argv[0] 을 포함해 기술합니다. inetd 내부에 실장되고 있는 서비스를 제공하는 경우에는, 서버 프로그램 인수 (으)로서 서비스의 서비스명 (와 인수) 또는 말 “internal” (을)를 지정합니다.

현재, 인수를 취하는 내부 서비스는 “auth” 뿐입니다. 옵션 없음이라고, 이 서비스는 항상 “ERROR : HIDDEN-USER” (을)를 돌려줍니다. 이 서비스의 동작을 변경하기 위해서 사용 가능한 인수는 다음과 같습니다:

-d fallback
    fallback 유저명을 지정합니다. 진짜의 “auth” 서비스가 (후술의 -r 옵션으로) 유효하게 되어 있는 경우, 소켓의 credential 취득 또는 유저명 검색에 실패했을 때에, 에러를 돌려주는 대신에 이 유저명을 돌려줍니다. 진짜의 “auth” 서비스가 무효가 되어 있는 경우, 모든 요구에 대해서 이 유저명을 돌려줍니다. 주로, 본서비스를 NAT 머신상에서 실행하고 있을 때 유용합니다.

-g  ident 요구자에게 유저명을 돌려주는 대신에, 알파벳과 숫자로부터 되는 랜덤인 유저명을 보고합니다. 예를 들면 “c0c993” 입니다. -g 플래그는, 유저명에 우선할 뿐만 아니라, .fakeid (이)나 .noident 의 파일에도 우선합니다.

-t  sec[.usec] 서비스의 타임 아웃을 지정합니다. 디폴트의 타임 아웃은 10.0 초입니다.

-r  RFC 1413 에 있는, 진정한 “auth” 서비스를 제공합니다. 나머지의 모든 플래그가 사용되는 것은, 이 경우만입니다.

-i  유저명대신에 수치의 유저 ID 를 돌려줍니다.

-f  식별되는 유저의 홈 디렉토리에 .fakeid 그렇다고 하는 파일이 있는 경우, 진짜 유저명대신에 그 파일중의 유저명을 보고합니다. .fakeid 안의 유저명이 실재하는 유저의 것의 경우, 진짜 유저명을 보고합니다. -i 하지만 모두 지정되면(자), .fakeid 안의 유저명이 기존의 유저 ID 대신에 체크됩니다.

-F  -f (와)과 같습니다만, .fakeid 하지만 실재하는 유저명에 매치 해서는 안 된다고 하는 제약이 제외됩니다.

-n  식별되는 유저의 홈 디렉토리에 .noident 그렇다고 하는 파일이 있는 경우, “ERROR : HIDDEN-USER” (을)를 돌려줍니다. 이것은, fakeid 파일에 우선합니다.

-o osname
    uname(3) 하지만 보고하는 시스템명대신에, osname (을)를 사용합니다.

inetd 유틸리티는 또, 내부 routine를 이용해 간단한 서비스를 자신으로 제공합니다. 이러한 서비스란 “echo”, “discard”, “chargen” (캐릭터 생성), “daytime” (인간이 읽는 형식에서 시간을 출력합니다), “time” (기계가독형식의 시간. 1900 년 1 월 1 일 0 시부터의 경과초수를 출력합니다) 입니다. 이러한 서비스는 TCP 와 UDP 버젼의 머지않아에서도 이용할 수 있습니다. UDP 버젼은 대답의 포트로서 내부 서비스에 상당하는 포토를 요구되었을 때, 서비스를 거부합니다. (이것은 루프 공격에 대한 방호입니다. 리모트 IP 주소는 기록됩니다. ) 이러한 서비스의 상세한 것에 대하여는 적당한 RFC 문서를 참조해 주세요.

TCPMUX 의 데마르치프레크스서비스도 또 내부 서비스로서 실장되고 있습니다. TCPMUX 베이스의 서비스를 동작시키기 위해서(때문에)는, 이하의 행을 inetd.conf 에 포함할 필요가 있습니다:

    tcpmux	stream	tcp	nowait	root	internal

-l 옵션이 지정되었을 경우, inetd (은)는 접속을 받아들일 때, 엔트리를 syslog 에 기록합니다. 이 때, 이용 가능하면, 선택된 서비스와 요구를 발표한 리모트의 IP 번호를 기록합니다. 설정 파일로 그 밖에 지정하고 있지 않고, -W (와)과 -w 의 옵션을 지정하고 있지 않으면 inetd 하 “daemon” 퍼실리티에 대해서 로그 출력합니다.

SIGHUP (을)를 받으면(자), inetd 유틸리티는, 설정 파일을 재차 읽어들입니다. 설정 파일을 재독 봐 할 때, 서비스를 추가, 삭제, 변경할 수 있습니다. 디버그 모드로 기동되었을 경우를 들여다 봐, inetd (은)는 재설정을 용이하게 하기 위해서, 프로세스 ID 를 /var/run/inetd.pid 에 기록합니다.

실장에 관한 주

  TCP Wrappers
-w 옵션이 지정되었을 때, “stream nowait” 또는 “dgram” (와)과 지정 통지전서비스 중 “내부” 서비스 이외를, inetd (은)는 랩핑 합니다 (쌉니다). -W 옵션이 지정되면(자), 전술의 조건의 “내부” 서비스가 랩핑 됩니다. 양쪽 모두의 옵션이 지정되었을 경우, 내부 서비스와 외부 서비스의 양쪽 모두를 랩핑 하게 됩니다. 어느 쪽의 랩핑 옵션도, 실패한 접속을 “auth” syslog 퍼실리티로 로그 합니다. 랩핑 옵션에 -l 플래그를 추가하면(자), 성공한 접속도 “auth” 퍼실리티에의 로그에 포함하게 됩니다.

“wait” 서비스에 대한 요구는, 서비스 요구에 대한 서버가 없는 동안만 inetd (은)는 랩핑 하는 것에 주의해 주세요. 이러한 서비스에 대해서 한번 접속이 용서되면(자), 접속 요구에 대해서 listen 하는 서버가 없어질 때까지, 이 서비스에 대한 후속의 접속을 inetd (은)는 제어할 수 없습니다.

랩핑이 유효하게 되었을 경우, 이 기능은 편입이기 (위해)때문에, tcpd demon는 불필요합니다.

TCP Wrappers 에 대한 한층 더 정보는, 관련하는 문서 (hosts_access(5)) (을)를 참조해 주세요. 이 문서를 읽을 때는, “내부” 서비스에 대해서는, 관련하는 demon명은 없는 일을 기억해 둬 주세요. 이러한 이유로, “내부” 서비스의 demon명으로서는, inetd.conf 그리고 지정되는 서비스명을 사용해야 합니다.

  TCPMUX
RFC 1078 (은)는 TCPMUX 프로토콜에 대해 말하고 있습니다. 「 TCP 클라이언트는 다른 호스트에 TCP 포트 번호 1 으로 접속합니다. 클라이언트는, 서비스명에<CRLF>를 부가해 보냅니다. 서비스명은 대문자/소문자를 구별하지 않습니다. 서버는, 긍정 (+) 혹은 부정 (-)을 나타내는 1 캐릭터를 돌려줍니다. + 혹은 - 의 바로 후에 메세지가 계속되는 경우가 있습니다. 대답은 <CRLF> 으로 끝납니다. 만약 대답이 긍정으로 있으면, 선택된 프로토콜이 개시됩니다. 그렇지 않으면 접속은 잘립니다.」 프로그램에는 파이르디스크프리타 0 으로 1 으로 TCP connection가 건네받습니다.

TCPMUX 서비스명이 “+” 그리고 시작되어 있을 때, inetd (은)는, 프로그램에 긍정 대답 (+)을 돌려줍니다. 이것에 의해, 특별한 서버 코드를 추가하는 일 없이 표준 입출력을 사용하는 프로그램을 기동할 수가 있습니다.

특별한 서비스명이다 “help” 에 의해, inetd 하 inetd.conf 에 있는 TCPMUX 서비스의 일람을 출력합니다.

  IPsec
본실장은, 각 소켓에 대한 IPsec 포리시 설정의 서포트를 위한 약간의 핵을 포함합니다. “#@” (으)로부터 개시하는 특별한 형식의 코멘트행이, 포리시 지시자로서 해석됩니다. “#@” 의 후의 모든 것이, ipsec_set_policy(3) 에 기술되고 있도록(듯이), IPsec 포리시 캐릭터 라인으로서 사용됩니다. 각 포리시 지정자는, inetd.conf 안으로 후속 하는 모든 행에 적용되어 이것은 다음의 포리시 지정자가 등장할 때까지 계속됩니다. 하늘의 포리시 지정자는, IPsec 포리시를 리셋트 합니다.

부정한 IPsec 포리시 캐릭터 라인이 inetd.conf 에 있으면(자), inetd 하 syslog(3) 인터페이스를 사용해 에러 메세지를 남겨, 종료합니다.

  도메인 소켓
서비스를 IP 소켓상에서 동작시키는 것에 가세해 inetd 하 UNIX 도메인 소켓도 취급할 수 있습니다. 이 때문에는 프로토콜 에 “unix” (을)를 지정해, UNIX 도메인 소켓을 서비스명 (으)로서 지정합니다. 서비스 타입 하 “stream” 인가 “dgram” 의 머지않아인가입니다. 소켓의 지정은, 절대 패스명인 것이 필요하고, :user:group:mode: 의 형식에서 소유자와 모드를 앞에 두고 붙이는 것이 가능합니다.

    :news:daemon:220:/var/run/sock

그렇다고 하는 지정은, 소유자가 “news” 그리고 그룹이 “daemon” 그리고 소유자와 그룹에만 접속을 허가하는 소켓을 작성합니다. 디폴트의 소유자는, inetd (을)를 실행하고 있는 유저입니다. 디폴트의 모드는, 소켓의 소유자에만 접속을 허가한다고 하는 것입니다.

경고: UNIX 도메인 소켓의 작성중에, inetd (은)는 소켓의 소유자와 퍼미션을 변경할 필요가 있습니다. 이것이 안전에 행해지는 것은, 소켓이 작성되는 디렉토리가 root 마셔 기입해 가능한 경우 뿐입니다. inetd (을)를 사용해, /tmp 등의 누구라도 기입해 가능한 디렉토리에 소켓을 작성해 없다 그리고 주세요. 대신에, /var/run 등의 디렉토리와 사용해 주세요.

내부 서비스는, 통상 대로, UNIX 도메인 소켓으로도 실행 가능합니다. 이 경우, 소켓의 패스명의 마지막 부분에서 내부 서비스명이 판정됩니다.

관련 파일
/etc/inetd.conf
    설정 파일
/etc/rpc
    서비스명을 RPC 프로그램 번호로 변환하는 테이블
/etc/services
    서비스명을 포트 번호로 변환하는 테이블
/var/run/inetd.pid
    현재 실행중의 inetd 의 pid

사용예
다음에, 몇개의 서비스에 대해 서비스 엔트리의 예를 들어 둡니다.

    ftp          stream  tcp   nowait root  /usr/libexec/ftpd        ftpd -l
    ntalk        dgram   udp   wait   root  /usr/libexec/ntalkd      ntalkd
    telnet       stream  tcp6  nowait root  /usr/libexec/telnetd  telnetd
    shell        stream  tcp46  nowait root  /usr/libexec/rshd rshd
    tcpmux/+date stream  tcp   nowait guest /bin/date                date
    tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook
    rstatd/1-3   dgram   rpc/udp wait root  /usr/libexec/rpc.rstatd  rpc.rstatd
    /var/run/echo stream unix  nowait root	internal
    #@ ipsec ah/require
    chargen      stream  tcp   nowait root  internal
    #@

에러 메세지
inetd 서버는, syslog(3) (을)를 사용해 에러 메세지를 기록합니다. 중요한 에러 메세지와 그 설명은 이하와 같습니다.

service/protocol server failing (looping), service terminated. 직전의 1 분간에, 그 서비스에 대한 요구수가 제한에 이르렀습니다. 불완전한 프로그램이나 악의가 있는 유저가 시스템을 행업 시키지 않기 위해(때문에), 이러한 제한이 설치되고 있습니다. 이 메세지가 출력되는 이유는 몇개인가 있습니다.

1.  단시간의 사이에 많은 호스트가 이 서비스를 요구하고 있다.

2.  불완전한 클라이언트 프로그램이 서비스를 빈번하게 너무 요구하고.

3.  악의 있는 유저가 있는 프로그램을 기동해, 서비스가 '거부'되도록(듯이) 공격하고 있다.

4.  기동된 서비스 프로그램에 에러가 있어, 클라이언트가 곧바로 리트라이를 일으켜 버린다.

-R rate 옵션을 사용하면(자), 제한을 바꿀 수가 있습니다. 제한에 이르렀을 때, 10 분 지나면(자) 서비스는 자동적으로 재허가됩니다.

service/protocol: such user user, service ignored

service/protocol: getpwnam: user: such user passwd(5) 데이타베이스에 user 의 엔트리가 없습니다. 최초의 메세지는 inetd 하지만 설정 파일을 (재차) 읽어들일 때 나옵니다. 2 번째의 메세지는, 서비스가 불려 갔을 때에 나옵니다.

service: can't set uid uid

service: can't set gid gid user 필드의 유저 ID 혹은 그룹 ID가 무효입니다.

setsockopt(SO_PRIVSTATE): Operation not supported
inetd 유틸리티는 그 소켓으로 설정되어 있는 특권 상태를 방폐하려고 했습니다만, 실패했습니다.

관련 항목
ipsec_set_policy(3), hosts_access(5), hosts_options(5), login.conf(5), passwd(5), rpc(5), services(5), comsat(8), fingerd(8), ftpd(8), rexecd(8), rlogind(8), rpcbind(8), rshd(8), telnetd(8), tftpd(8), Michael C. St. Johns, Identification Protocol, RFC1413.

역사
inetd 유틸리티는 4.3BSD (으)로부터 등장했습니다. TCPMUX 는 Mark Lottor 에 의한 코드와 문서를 바탕으로 하고 있습니다. ONC RPC 베이스의 서비스의 서포트는, SunOS 4.1 하지만 공급되고 나서, 거기에 배워 만들어졌습니다. IPsec 의 핵은, 1999 년에 KAME 프로젝트가 제공했습니다. FreeBSD 의 TCP Wrappers 서포트가 최초로 등장한 것은 FreeBSD 3.2 입니다.