sort: add -x hex sort feature back
[minix.git] / man / man8 / tcpd.8
blob24616fd1045106345343a148cc42a75ab251cf08
1 .TH TCPD 8
2 .SH NAME
3 tcpd, tcpdp \- waits for a TCP connection request and starts a server
4 .SH SYNOPSIS
5 .B tcpd
6 .RB [ \-d ]
7 .RB [ \-m 
8 .I maxclients
10 .I service
11 .I program
12 .RB [ arg ...
14 .SH DESCRIPTION
15 .de SP
16 .if t .sp 0.4
17 .if n .sp
19 .B Tcpd
20 is a daemon, that is, a user-space program that is normally started when the 
21 operating system is started and that normally does not terminate until the 
22 system is shut down.
23 Conceptually, you can think of
24 .B tcpd
25 as doing nothing but listening to a port for a connection attempt. Several 
26 copies of 
27 .B tcpd
28 will typically be started, one for each service that is to be provided. 
29 When a connection is detected the tcpd for that port 
30 .IR fork s
31 and then the child process 
32 .IR exec s
33 an instance of the server for that port.
35 The above description is simplified. 
36 Normally two versions of the tcpd.c source code are compiled. 
37 .B Tcpd
38 is the one that waits for a connection. When a connection occurs 
39 .B tcpd 
40 .IR fork s. 
41 If 
42 .B tcpd
43 was started with options or if the child detects that the access 
44 control file 
45 .IR /etc/serv.access 
46 exists, the child will 
47 .IR exec 
48 its paranoid twin,
49 .B tcpdp,
50 which checks that the connection attempt is from an allowed node or network,
51 or that it is not from a disallowed node or network. 
52 .B Tcpdp
53 also tries to look up the name corresponding to an IP address, and denies 
54 the connection if a name cannot be found. Finally, 
55 .B tcpdp
56 determines whether the connection is supposed to be logged. 
57 If all is well, the child 
58 .B tcpd
60 .B tcpdp
61 then 
62 .IR exec s 
63 the server for the service with any arguments specified on the command line 
64 for that server.
65 .SH OPTIONS
66 .TP
67 .B \-d 
68 turn on debugging.
69 .TP
70 .B \-m
71 allow no more than the specified 
72 .IR maxclients 
73 to start.
74 .SH EXAMPLES
75 .de EX
76 .TP 20
77 \\fB\\$1\\fR
78 # \\$2
80 .TP 20
81 .B tcpd telnet in.telnetd &
82 # wait for a telnet connection on the normal port
83 .TP 20
84 .B tcpd 8000 in.httpd /etc/httpd8000.conf &
85 # wait for web page request on port 8000 and use a custom config file for the in.httpd program.
87 Note that command lines must be terminated with "&" to return control to the
88 calling process, leaving the daemon executing as a background process. 
90 The above examples show how tcpd might be invoked from /etc/rc or
91 another script that runs during system initialization.  You will also
92 see this in the supplied startup scripts:
93 .TP 20
94 .B daemonize tcpd shell in.rshd
95 # daemonize is a shell function that tests whether a daemon is present and starts it if so, using the & to start it in the background.
97 Another case that should be mentioned is that when a system administrator
98 wants to start (or restart) a daemon from a command line,
99 .BR intr (8)
100 should be used, like this:
101 .TP 20
102 .B intr -d tcpd telnet in.telnetd &
103 # remove the daemon from a process group and connect its input to /dev/null and its output to /dev/log.   
104 .SH FILES
105 .TP 25n
106 .B /etc/serv.access
107 The access control file.
108 .SH "SEE ALSO"
109 .BR execve (2),
110 .BR fork (2),
111 .BR intr (8),
112 .BR serv.access (5).
113 .SH NOTES
114 That daemons cannot daemonize themselves is a way in which Minix differs from
115 most other Unix-like systems. 
117 Allowing access to your system from the net is dangerous. Be sure you 
118 know what you are doing. Be sure the owner of your net knows what you are 
119 doing. Don't enable services you don't need.  Enable logging and look at your
120 logs.
121 .SH BUGS
122 None known, let us know...
123 .SH AUTHOR
124 Kees J. Bot <kjb@cs.vu.nl>
126 Man page by Al Woodhull <asw@woodhull.com> 
127 .\" rev 2006-06-02