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