]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - usr.sbin/inetd/inetd.8
Fixed bitrot in DPADD in previous commit. The previous commit changed
[FreeBSD/FreeBSD.git] / usr.sbin / inetd / inetd.8
1 .\" Copyright (c) 1985, 1991, 1993, 1994
2 .\"     The Regents of the University of California.  All rights reserved.
3 .\"
4 .\" Redistribution and use in source and binary forms, with or without
5 .\" modification, are permitted provided that the following conditions
6 .\" are met:
7 .\" 1. Redistributions of source code must retain the above copyright
8 .\"    notice, this list of conditions and the following disclaimer.
9 .\" 2. Redistributions in binary form must reproduce the above copyright
10 .\"    notice, this list of conditions and the following disclaimer in the
11 .\"    documentation and/or other materials provided with the distribution.
12 .\" 3. All advertising materials mentioning features or use of this software
13 .\"    must display the following acknowledgement:
14 .\"     This product includes software developed by the University of
15 .\"     California, Berkeley and its contributors.
16 .\" 4. Neither the name of the University nor the names of its contributors
17 .\"    may be used to endorse or promote products derived from this software
18 .\"    without specific prior written permission.
19 .\"
20 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30 .\" SUCH DAMAGE.
31 .\"
32 .\"     from: @(#)inetd.8       8.3 (Berkeley) 4/13/94
33 .\" $FreeBSD$
34 .\"
35 .Dd February 7, 1996
36 .Dt INETD 8
37 .Os
38 .Sh NAME
39 .Nm inetd
40 .Nd internet
41 .Dq super-server
42 .Sh SYNOPSIS
43 .Nm
44 .Op Fl d
45 .Op Fl l
46 .Op Fl w
47 .Op Fl W
48 .Op Fl c Ar maximum
49 .Op Fl C Ar rate
50 .Op Fl a Ar address | hostname
51 .Op Fl p Ar filename
52 .Op Fl R Ar rate
53 .Op Ar configuration file
54 .Sh DESCRIPTION
55 The
56 .Nm
57 program
58 should be run at boot time by
59 .Pa /etc/rc
60 (see
61 .Xr rc 8 ) .
62 It then listens for connections on certain
63 internet sockets.  When a connection is found on one
64 of its sockets, it decides what service the socket
65 corresponds to, and invokes a program to service the request.
66 The server program is invoked with the service socket
67 as its standard input, output and error descriptors.
68 After the program is
69 finished,
70 .Nm
71 continues to listen on the socket (except in some cases which
72 will be described below).  Essentially,
73 .Nm
74 allows running one daemon to invoke several others,
75 reducing load on the system.
76 .Pp
77 The following options are available:
78 .Bl -tag -width indent
79 .It Fl d
80 Turn on debugging.
81 .It Fl l
82 Turn on logging of successful connections.
83 .It Fl w
84 Turn on TCP Wrapping for external services.
85 See the
86 .Sx "IMPLEMENTATION NOTES"
87 section for more information on TCP Wrappers support.
88 .It Fl W
89 Turn on TCP Wrapping for internal services which are built in to
90 .Nm .
91 .It Fl c Ar maximum
92 Specify the default maximum number of
93 simultaneous invocations of each service;
94 the default is unlimited.
95 May be overridden on a per-service basis with the "max-child"
96 parameter.
97 .It Fl C Ar rate
98 Specify the default maximum number of times a service can be invoked
99 from a single IP address in one minute; the default is unlimited.
100 May be overridden on a per-service basis with the
101 "max-connections-per-ip-per-minute" parameter.
102 .It Fl R Ar rate
103 Specify the maximum number of times a service can be invoked
104 in one minute; the default is 256.
105 A rate of 0 allows an unlimited number of invocations.
106 .It Fl a
107 Specify one specific IP address to bind to.
108 Alternatively, a hostname can be specified,
109 in which case the IPv4 or IPv6 address
110 which corresponds to that hostname is used.
111 Usually a hostname is specified when
112 .Nm
113 is run inside a
114 .Xr jail 8 ,
115 in which case the hostname corresponds to the
116 .Xr jail 8
117 environment.
118 .Pp
119 When hostname specification is used
120 and both IPv4 and IPv6 bindings are desired,
121 one entry with the appropriate
122 .Em protocol
123 type for each binding
124 is required for each service in
125 .Pa /etc/inetd.conf .
126 For example,
127 a TCP-based service would need two entries,
128 one using
129 .Dq tcp4
130 for the
131 .Em protocol
132 and the other using
133 .Dq tcp6 .
134 See the explanation of the
135 .Pa /etc/inetd.conf
136 .Em protocol
137 field below.
138 .It Fl p
139 Specify an alternate file in which to store the process ID.
140 .El
141 .Pp
142 Upon execution,
143 .Nm
144 reads its configuration information from a configuration
145 file which, by default, is
146 .Pa /etc/inetd.conf .
147 There must be an entry for each field of the configuration
148 file, with entries for each field separated by a tab or
149 a space.  Comments are denoted by a
150 .Dq #
151 at the beginning
152 of a line.  There must be an entry for each field.  The
153 fields of the configuration file are as follows:
154 .Pp
155 .Bd -unfilled -offset indent -compact
156 service name
157 socket type
158 protocol
159 {wait|nowait}[/max-child[/max-connections-per-ip-per-minute]]
160 user[:group][/login-class]
161 server program
162 server program arguments
163 .Ed
164 .Pp
165 To specify an
166 .Tn "ONC RPC" Ns -based
167 service, the entry would contain these fields:
168 .Pp
169 .Bd -unfilled -offset indent -compact
170 service name/version
171 socket type
172 rpc/protocol
173 user[:group][/login-class]
174 server program
175 server program arguments
176 .Ed
177 .Pp
178 There are two types of services that
179 .Nm
180 can start: standard and TCPMUX.
181 A standard service has a well-known port assigned to it;
182 it may be a service that implements an official Internet standard or is a
183 BSD-specific service.
184 As described in
185 .Tn RFC 1078 ,
186 TCPMUX services are nonstandard services that do not have a
187 well-known port assigned to them.
188 They are invoked from
189 .Nm
190 when a program connects to the
191 .Dq tcpmux
192 well-known port and specifies
193 the service name.
194 This feature is useful for adding locally-developed servers.
195 TCPMUX requests are only accepted when the multiplexor service itself
196 is enabled, above and beyond and specific TCPMUX-based servers; see the
197 discussion of internal services below.
198 .Pp
199 The
200 .Em service-name
201 entry is the name of a valid service in
202 the file
203 .Pa /etc/services ,
204 or the specification of a
205 .Ux
206 domain socket (see below).
207 For
208 .Dq internal
209 services (discussed below), the service
210 name
211 should
212 be the official name of the service (that is, the first entry in
213 .Pa /etc/services ) .
214 When used to specify an
215 .Tn "ONC RPC" Ns -based
216 service, this field is a valid RPC service name in
217 the file
218 .Pa /etc/rpc .
219 The part on the right of the
220 .Dq /
221 is the RPC version number.
222 This
223 can simply be a single numeric argument or a range of versions.
224 A range is bounded by the low version to the high version -
225 .Dq rusers/1-3 .
226 For TCPMUX services, the value of the
227 .Em service-name
228 field consists of the string
229 .Dq tcpmux
230 followed by a slash and the
231 locally-chosen service name.
232 The service names listed in
233 .Pa /etc/services
234 and the name
235 .Dq help
236 are reserved.
237 Try to choose unique names for your TCPMUX services by prefixing them with
238 your organization's name and suffixing them with a version number.
239 .Pp
240 The
241 .Em socket-type
242 should be one of
243 .Dq stream ,
244 .Dq dgram ,
245 .Dq raw ,
246 .Dq rdm ,
247 or
248 .Dq seqpacket ,
249 depending on whether the socket is a stream, datagram, raw,
250 reliably delivered message, or sequenced packet socket.
251 TCPMUX services must use
252 .Dq stream .
253 .Pp
254 The
255 .Em protocol
256 must be a valid protocol or
257 .Dq unix .
258 Examples are
259 .Dq tcp
260 or
261 .Dq udp ,
262 both of which imply IPv4 for backward compatibility.
263 The names
264 .Dq tcp4
265 and
266 .Dq udp4
267 specify IPv4 only.
268 The names
269 .Dq tcp6
270 and
271 .Dq udp6
272 specify IPv6 only.
273 The names
274 .Dq tcp46
275 and
276 .Dq udp46
277 specify that the entry accepts both IPv6 and IPv6 connections
278 via a wildcard
279 .Dv AF_INET6
280 socket.
281 If it is desired that the service is reachable via T/TCP, one should
282 specify
283 .Dq tcp/ttcp ,
284 which implies IPv4 for backward compatibility.
285 The name
286 .Dq tcp4/ttcp
287 specifies IPv4 only, while
288 .Dq tcp6/ttcp
289 specifies IPv6 only.
290 The name
291 .Dq tcp46/ttcp
292 specify that the entry accepts both IPv6 and IPv6 connections
293 via a wildcard
294 .Dv AF_INET6
295 socket.
296 Rpc based services
297 (for which only IPv4 is supported at this time)
298 are specified with the
299 .Dq rpc/tcp
300 or
301 .Dq rpc/udp
302 service type.
303 TCPMUX services must use
304 .Dq tcp ,
305 .Dq tcp4 ,
306 .Dq tcp6
307 or
308 .Dq tcp46 .
309 .Pp
310 The
311 .Em wait/nowait
312 entry specifies whether the server that is invoked by
313 .Nm
314 will take over
315 the socket associated with the service access point, and thus whether
316 .Nm
317 should wait for the server to exit before listening for new service
318 requests.
319 Datagram servers must use
320 .Dq wait ,
321 as they are always invoked with the original datagram socket bound
322 to the specified service address.
323 These servers must read at least one datagram from the socket
324 before exiting.
325 If a datagram server connects
326 to its peer, freeing the socket so
327 .Nm
328 can receive further messages on the socket, it is said to be
329 a
330 .Dq multi-threaded
331 server;
332 it should read one datagram from the socket and create a new socket
333 connected to the peer.
334 It should fork, and the parent should then exit
335 to allow
336 .Nm
337 to check for new service requests to spawn new servers.
338 Datagram servers which process all incoming datagrams
339 on a socket and eventually time out are said to be
340 .Dq single-threaded .
341 .Xr Comsat 8 ,
342 .Pq Xr biff 1
343 and
344 .Xr talkd 8
345 are both examples of the latter type of
346 datagram server.
347 .Xr Tftpd 8
348 is an example of a multi-threaded datagram server.
349 .Pp
350 Servers using stream sockets generally are multi-threaded and
351 use the
352 .Dq nowait
353 entry.
354 Connection requests for these services are accepted by
355 .Nm ,
356 and the server is given only the newly-accepted socket connected
357 to a client of the service.
358 Most stream-based services operate in this manner.
359 Stream-based servers that use
360 .Dq wait
361 are started with the listening service socket, and must accept
362 at least one connection request before exiting.
363 Such a server would normally accept and process incoming connection
364 requests until a timeout.
365 TCPMUX services must use
366 .Dq nowait .
367 .Pp
368 The maximum number of outstanding child processes (or
369 .Dq threads )
370 for a
371 .Dq nowait
372 service may be explicitly specified by appending a
373 .Dq /
374 followed by the number to the
375 .Dq nowait
376 keyword.
377 Normally
378 (or if a value of zero is specified) there is no maximum.
379 Otherwise,
380 once the maximum is reached, further connection attempts will be
381 queued up until an existing child process exits.
382 This also works
383 in the case of
384 .Dq wait
385 mode, although a value other than one (the
386 default) might not make sense in some cases.
387 You can also specify the maximum number of connections per minute
388 for a given IP address by appending
389 a
390 .Dq /
391 followed by the number to the maximum number of
392 outstanding child processes.
393 Once the maximum is reached, further
394 connections from this IP address will be dropped until the end of the
395 minute.
396 .Pp
397 The
398 .Em user
399 entry should contain the user name of the user as whom the server
400 should run.  This allows for servers to be given less permission
401 than root.
402 Optional
403 .Em group
404 part separated by
405 .Dq \&:
406 allows to specify group name different
407 than default group for this user.
408 Optional
409 .Em login-class
410 part separated by
411 .Dq /
412 allows to specify login class different
413 than default
414 .Dq daemon
415 login class.
416 .Pp
417 The
418 .Em server-program
419 entry should contain the pathname of the program which is to be
420 executed by
421 .Nm
422 when a request is found on its socket.  If
423 .Nm
424 provides this service internally, this entry should
425 be
426 .Dq internal .
427 .Pp
428 The
429 .Em server program arguments
430 should be just as arguments
431 normally are, starting with argv[0], which is the name of
432 the program.  If the service is provided internally, the
433 .Em service-name
434 of the service (and any arguments to it) or the word
435 .Dq internal
436 should take the place of this entry.
437 .Pp
438 Currently, the only internal service to take arguments is
439 .Dq auth .
440 Without options, the service will always return
441 .Dq ERROR\ : HIDDEN-USER .
442 The available arguments to this service that alter its behavior are:
443 .Bl -tag -width indent
444 .It Fl d Ar fallback
445 Provide a
446 .Ar fallback
447 username.
448 If the real
449 .Dq auth
450 service is enabled
451 (with the
452 .Fl r
453 option discussed below),
454 return this username instead of an error
455 when look ups fail
456 for either socket credentials or the username.
457 If the real
458 .Dq auth
459 service is disabled,
460 return this username for every request.
461 This is primarily useful when running this service on a NAT machine.
462 .It Fl g
463 Instead of returning
464 the user's name to the ident requester,
465 report a
466 username made up of random alphanumeric characters,
467 e.g.\&
468 .Dq c0c993 .
469 The
470 .Fl g
471 flag overrides not only the user names,
472 but also any fallback name,
473 .Pa .fakeid
474 or
475 .Pa .noident
476 files.
477 .It Fl t Xo
478 .Ar sec Ns Op . Ns Ar usec
479 .Xc
480 Specify a timeout for the service.
481 The default timeout is 10.0 seconds.
482 .It Fl r
483 Offer a real
484 .Dq auth
485 service, as per RFC 1413.
486 All the remaining flags apply only in this case.
487 .It Fl i
488 Return numeric user IDs instead of usernames.
489 .It Fl f
490 If the file
491 .Pa .fakeid
492 exists in the home directory of the identified user, report the username
493 found in that file instead of the real username.
494 If the username found in
495 .Pa .fakeid
496 is that of an existing user,
497 then the real username is reported.
498 If the
499 .Fl i
500 flag is also given then the username in
501 .Pa .fakeid
502 is checked against existing user IDs instead.
503 .It Fl F
504 same as
505 .Fl f
506 but without the restriction that the username in
507 .Pa .fakeid
508 must not match an existing user.
509 .It Fl n
510 If the file
511 .Pa .noident
512 exists in the home directory of the identified user, return
513 .Dq ERROR\ : HIDDEN-USER .
514 This overrides any
515 .Pa fakeid
516 file which might exist.
517 .It Fl o Ar osname
518 Use
519 .Ar osname
520 instead of the name of the system as reported by
521 .Xr uname 3 .
522 .El
523 .Pp
524 The
525 .Nm
526 program
527 also provides several other
528 .Dq trivial
529 services internally by use of
530 routines within itself.  These services are
531 .Dq echo ,
532 .Dq discard ,
533 .Dq chargen
534 (character generator),
535 .Dq daytime
536 (human readable time), and
537 .Dq time
538 (machine readable time, in the form of the number of seconds since
539 midnight, January 1, 1900).  All of these services are available in
540 both TCP and UDP versions; the UDP versions will refuse service if the
541 request specifies a reply port corresponding to any internal service.
542 (This is done as a defense against looping attacks; the remote IP address
543 is logged.)
544 For details of these services, consult the
545 appropriate
546 .Tn RFC
547 document.
548 .Pp
549 The TCPMUX-demultiplexing service is also implemented as an internal service.
550 For any TCPMUX-based service to function, the following line must be included
551 in
552 .Pa inetd.conf :
553 .Bd -literal -offset indent
554 tcpmux  stream  tcp     nowait  root    internal
555 .Ed
556 .Pp
557 When given the
558 .Fl l
559 option
560 .Nm
561 will log an entry to syslog each time a connection is accepted, noting the
562 service selected and the IP-number of the remote requester if available.
563 Unless otherwise specified in the configuration file,
564 and in the absence of the
565 .Fl W
566 and
567 .Fl w
568 options,
569 .Nm
570 will log to the
571 .Dq daemon
572 facility.
573 .Pp
574 The
575 .Nm
576 program
577 rereads its configuration file when it receives a hangup signal,
578 .Dv SIGHUP .
579 Services may be added, deleted or modified when the configuration file
580 is reread.
581 Except when started in debugging mode,
582 .Nm
583 records its process ID in the file
584 .Pa /var/run/inetd.pid
585 to assist in reconfiguration.
586 .Sh IMPLEMENTATION NOTES
587 .Ss TCP Wrappers
588 When given the
589 .Fl w
590 option,
591 .Nm
592 will wrap all services specified as
593 .Dq stream nowait
594 or
595 .Dq dgram
596 except for
597 .Dq internal
598 services.
599 If the
600 .Fl W
601 option is given, such
602 .Dq internal
603 services will be wrapped.
604 If both options are given, wrapping for both
605 internal and external services will be enabled.
606 Either wrapping option
607 will cause failed connections to be logged to the
608 .Dq auth
609 syslog facility.
610 Adding the
611 .Fl l
612 flag to the wrapping options will include successful connections in the
613 logging to the
614 .Dq auth
615 facility.
616 .Pp
617 Note that
618 .Nm
619 only wraps requests for a
620 .Dq wait
621 service while no servers are available to service requests.
622 Once a
623 connection to such a service has been allowed,
624 .Nm
625 has no control
626 over subsequent connections to the service until no more servers
627 are left listening for connection requests.
628 .Pp
629 When wrapping is enabled, the
630 .Pa tcpd
631 daemon is not required, as that functionality is builtin.
632 For more information on TCP Wrappers, see the relevant documentation
633 .Pq Xr hosts_access 5 .
634 When reading that document, keep in mind that
635 .Dq internal
636 services have no associated daemon name.
637 Therefore, the service name
638 as specified in
639 .Pa inetd.conf
640 should be used as the daemon name for
641 .Dq internal
642 services.
643 .Ss TCPMUX
644 .Tn RFC 1078
645 describes the TCPMUX protocol:
646 ``A TCP client connects to a foreign host on TCP port 1.  It sends the
647 service name followed by a carriage-return line-feed <CRLF>.  The
648 service name is never case sensitive.  The server replies with a
649 single character indicating positive (+) or negative (\-)
650 acknowledgment, immediately followed by an optional message of
651 explanation, terminated with a <CRLF>.  If the reply was positive,
652 the selected protocol begins; otherwise the connection is closed.''
653 The program is passed the TCP connection as file descriptors 0 and 1.
654 .Pp
655 If the TCPMUX service name begins with a
656 .Dq + ,
657 .Nm
658 returns the positive reply for the program.
659 This allows you to invoke programs that use stdin/stdout
660 without putting any special server code in them.
661 .Pp
662 The special service name
663 .Dq help
664 causes
665 .Nm
666 to list TCPMUX services in
667 .Pa inetd.conf .
668 .Ss IPsec
669 The implementation includes a tiny hack
670 to support IPsec policy settings for each socket.
671 A special form of comment line, starting with
672 .Dq Li #@ ,
673 is interpreted as a policy specifier.
674 Everything after the
675 .Dq Li #@
676 will be used as an IPsec policy string,
677 as described in
678 .Xr ipsec_set_policy 3 .
679 Each
680 policy specifier is applied to all the following lines in
681 .Pa inetd.conf
682 until the next policy specifier.
683 An empty policy specifier resets the IPsec policy.
684 .Pp
685 If an invalid IPsec policy specifier appears in
686 .Pa inetd.conf ,
687 .Nm
688 will provide an error message via the
689 .Xr syslog 3
690 interface and abort execution.
691 .Ss Ux Domain Sockets
692 In addition to running services on IP sockets,
693 .Nm
694 can also manage
695 .Ux
696 domain sockets.
697 To do this you specify a
698 .Em protocol
699 of
700 .Dq unix
701 and specify the
702 .Ux
703 domain socket as the
704 .Em service-name .
705 The
706 .Em service-type
707 may be
708 .Dq stream
709 or
710 .Dq dgram .
711 The specification of the socket must be
712 an absolute path name,
713 optionally prefixed by an owner and mode
714 of the form
715 .Em :user:group:mode: .
716 The specification:
717 .Pp
718 .Dl ":news:daemon:220:/var/run/sock"
719 .Pp
720 creates a socket owned
721 by user
722 .Dq news
723 in group
724 .Dq daemon
725 with permissions allowing only that user and group to connect.
726 The default owner is the user that
727 .Nm
728 is running as.
729 The default mode only allows the socket's owner to connect.
730 .Pp
731 .Sy WARNING :
732 while creating
733 .Ux
734 domain socket,
735 .Nm
736 must change the ownership and permissions on the socket.
737 This can only be done securely if
738 the directory in which the socket is created
739 is writable only by root.
740 Do
741 .Em NOT
742 use
743 .Nm
744 to create sockets in world writable directories,
745 such as
746 .Pa /tmp ,
747 instead use
748 .Pa /var/run
749 or a similar directory.
750 .Pp
751 Internal services may be run on
752 .Ux
753 domain sockets, in the usual way.
754 In this case
755 the name of the internal service
756 is determined using
757 the last component of the socket's pathname.
758 .Sh "FILES"
759 .Bl -tag -width /var/run/inetd.pid -compact
760 .It Pa /etc/inetd.conf
761 configuration file
762 .It Pa /etc/rpc
763 translation of service names to RPC program numbers
764 .It Pa /etc/services
765 translation of service names to port numbers
766 .It Pa /var/run/inetd.pid
767 the pid of the currently running
768 .Nm
769 .El
770 .Sh "EXAMPLES"
771 Here are several example service entries for the various types of services:
772 .Bd -literal
773 ftp          stream  tcp   nowait root  /usr/libexec/ftpd        ftpd -l
774 ntalk        dgram   udp   wait   root  /usr/libexec/ntalkd      ntalkd
775 telnet       stream  tcp6  nowait root  /usr/libexec/telnetd  telnetd
776 shell        stream  tcp46  nowait root  /usr/libexec/rshd rshd
777 tcpmux/+date stream  tcp   nowait guest /bin/date                date
778 tcpmux/phonebook stream tcp nowait guest /usr/local/bin/phonebook phonebook
779 rstatd/1-3   dgram   rpc/udp wait root  /usr/libexec/rpc.rstatd  rpc.rstatd
780 /var/run/echo stream unix  nowait root  internal
781 #@ ipsec ah/require
782 chargen      stream  tcp   nowait root  internal
783 #@
784 .Ed
785 .Sh "ERROR MESSAGES"
786 The
787 .Nm
788 server
789 logs error messages using
790 .Xr syslog 3 .
791 Important error messages and their explanations are:
792 .Pp
793 .Bl -ohang -compact
794 .It Xo
795 .Ar service Ns / Ns Ar protocol
796 .No "server failing (looping), service terminated."
797 .Xc
798 The number of requests for the specified service in the past minute
799 exceeded the limit.
800 The limit exists to prevent a broken program
801 or a malicious user from swamping the system.
802 This message may occur for several reasons:
803 .Bl -enum -offset indent
804 .It
805 There are many hosts requesting the service within a short time period.
806 .It
807 A broken client program is requesting the service too frequently.
808 .It
809 A malicious user is running a program to invoke the service in
810 a denial-of-service attack.
811 .It
812 The invoked service program has an error that causes clients
813 to retry quickly.
814 .El
815 .Pp
816 Use the
817 .Fl R Ar rate
818 option,
819 as described above, to change the rate limit.
820 Once the limit is reached, the service will be
821 reenabled automatically in 10 minutes.
822 .Pp
823 .It Xo
824 .Ar service Ns / Ns Ar protocol :
825 .No \&No such user
826 .Ar user ,
827 .No service ignored
828 .Xc
829 .It Xo
830 .Ar service Ns / Ns Ar protocol :
831 .No getpwnam :
832 .Ar user :
833 .No \&No such user
834 .Xc
835 No entry for
836 .Ar user
837 exists in the
838 .Xr passwd 5
839 database.
840 The first message
841 occurs when
842 .Nm
843 (re)reads the configuration file.
844 The second message occurs when the
845 service is invoked.
846 .Pp
847 .It Xo
848 .Ar service :
849 .No can't set uid
850 .Ar uid
851 .Xc
852 .It Xo
853 .Ar service :
854 .No can't set gid
855 .Ar gid
856 .Xc
857 The user or group ID for the entry's
858 .Ar user
859 field is invalid.
860 .Pp
861 .It "setsockopt(SO_PRIVSTATE): Operation not supported"
862 The
863 .Nm
864 program attempted to renounce the privileged state associated with a
865 socket but was unable to.
866 .El
867 .Sh SEE ALSO
868 .Xr ipsec_set_policy 3 ,
869 .Xr hosts_access 5 ,
870 .Xr hosts_options 5 ,
871 .Xr login.conf 5 ,
872 .Xr passwd 5 ,
873 .Xr rpc 5 ,
874 .Xr services 5 ,
875 .Xr comsat 8 ,
876 .Xr fingerd 8 ,
877 .Xr ftpd 8 ,
878 .Xr rexecd 8 ,
879 .Xr rlogind 8 ,
880 .Xr rpcbind 8 ,
881 .Xr rshd 8 ,
882 .Xr telnetd 8 ,
883 .Xr tftpd 8
884 .Rs
885 .%A Michael C. St. Johns
886 .%T Identification Protocol
887 .%O RFC1413
888 .Re
889 .Sh HISTORY
890 The
891 .Nm
892 command appeared in
893 .Bx 4.3 .
894 TCPMUX is based on code and documentation by Mark Lottor.
895 Support for
896 .Tn "ONC RPC"
897 based services is modeled after that
898 provided by
899 .Tn SunOS
900 4.1.
901 The IPsec hack was contributed by the KAME project in 1999.
902 The
903 .Fx
904 TCP Wrappers support first appeared in
905 .Fx 3.2 .