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