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