ptserver: Add cmdline options for config and log
[openafs.git] / doc / man-pages / pod8 / ptserver.pod
1 =head1 NAME
2
3 ptserver - Initializes the Protection Server
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 ptserver S<<< [B<-database> | B<-db> <I<db path>>] >>>
11 S<<< [B<-p> <I<number of threads>>] >>> S<<< [B<-d> <I<debug level>>] >>>
12 S<<< [B<-groupdepth> <I<# of nested groups>>] >>>
13 S<<< [B<-default_access> <I<user access mask>> <I<group access mask>>] >>>
14 [B<-restricted>] [B<-enable_peer_stats>]
15 [B<-enable_process_stats>] [B<-allow-dotted-principals>]
16 [B<-rxbind>] S<<< [B<-auditlog> <I<file path>>] >>>
17 S<<< [B<-audit-interface> (file | sysvmq)] >>>
18 S<<< [B<-syslog>[=<I<FACILITY>>]] >>>
19 S<<< [B<-logfile <I<log file>>] >>>
20 S<<< [B<-config <I<configuration path>>] >>>
21 S<<< [B<-rxmaxmtu> <I<bytes>>] >>>
22 [B<-help>]
23
24 =for html
25 </div>
26
27 =head1 DESCRIPTION
28
29 The B<ptserver> command initializes the Protection Server, which must run
30 on every database server machine. In the conventional configuration, its
31 binary file is located in the F</usr/afs/bin> directory on a file server
32 machine.
33
34 The ptserver command is not normally issued at the command shell prompt,
35 but rather placed into a database server machine's
36 F</usr/afs/local/BosConfig> file with the B<bos create> command. If it is
37 ever issued at the command shell prompt, the issuer must be logged onto a
38 file server machine as the local superuser C<root>.
39
40 The Protection Server performs the following tasks:
41
42 =over 4
43
44 =item *
45
46 Maintains the Protection Database, which contains entries for every user
47 and group in the cell. Use the B<pts> commands to administer the database.
48
49 =item *
50
51 Allocates AFS IDs for new user, machine and group entries and maps each ID
52 to the corresponding name.
53
54 =item *
55
56 Generates a current protection subgroup (CPS) at the File Server's
57 request. The CPS lists all groups to which a user or machine belongs.
58
59 =back
60
61 When using Kerberos 5, cross-realm authentication is possible. If the
62 special pts group system:authuser@FOREIGN.REALM exists and its group quota
63 is greater than zero, B<aklog> will automatically create an entry for the
64 foreign user in the local PTS database and add the foreign user to the
65 system:authuser@FOREIGN.REALM PTS group.  Each time a foreign user is
66 created in the local PTS database, the group quota for the
67 system:authuser@FOREIGN.REALM PTS group is decremented by one.
68
69 This command does not use the syntax conventions of the AFS command
70 suites. Provide the command name and all option names in full.
71
72 =head1 OPTIONS
73
74 =over 4
75
76 =item B<-d> <I<debug level>>
77
78 Sets the detail level for the debugging trace written to the
79 F</usr/afs/logs/PtLog> file. Provide one of the following values, each
80 of which produces an increasingly detailed trace: C<0>, C<1>, C<5>, C<25>,
81 and C<125>. 
82
83 =item B<-database> <I<db path>>, B<-db> <I<db path>>
84
85 Specifies the pathname of an alternate directory in which the Protection
86 Database files reside. Provide the complete pathname, ending in the base
87 filename to which the C<.DB0> and C<.DBSYS1> extensions are appended. For
88 example, the appropriate value for the default database files is
89 F</usr/afs/db/prdb>.
90
91 =item B<-p> <I<number of threads>>
92
93 Sets the number of server lightweight processes (LWPs or pthreads) to run.
94 Provide a positive integer from the range C<3> to C<16>. The default
95 value is C<3>.
96
97 =item B<-groupdepth> <I<# of nested groups>>, B<-depth> <I<# of nested groups>>
98
99 Specifies the group depth for nested groups when B<ptserver> is compiled
100 with the SUPERGROUPS option enabled.  The default depth for nested groups
101 is 5.  This option may be shortened to B<-depth>.
102
103 =item B<-default_access> <I<user access>> <I<group access>>
104
105 Specifies the default user and group privacy flags to apply to each
106 entry. Provide a string of five characters, one for each of the
107 permissions. See L<pts_examine(1)> or L<pts_setfields(1)> for more
108 information on the flags.
109
110 =item B<-restricted>
111
112 Run the PT Server in restricted mode. While in restricted mode, only
113 members of the system:administrators PTS group may make any PTS changes.
114
115 =item B<-enable_peer_stats>
116
117 Activates the collection of Rx statistics and allocates memory for their
118 storage. For each connection with a specific UDP port on another machine,
119 a separate record is kept for each type of RPC (FetchFile, GetStatus, and
120 so on) sent or received. To display or otherwise access the records, use
121 the Rx Monitoring API.
122
123 =item B<-enable_process_stats>
124
125 Activates the collection of Rx statistics and allocates memory for their
126 storage. A separate record is kept for each type of RPC (FetchFile,
127 GetStatus, and so on) sent or received, aggregated over all connections to
128 other machines. To display or otherwise access the records, use the Rx
129 Monitoring API.
130
131 =item B<-allow-dotted-principals>
132
133 By default, the RXKAD security layer will disallow access by Kerberos
134 principals with a dot in the first component of their name. This is to
135 avoid the confusion where principals user/admin and user.admin are both
136 mapped to the user.admin PTS entry. Sites whose Kerberos realms don't have
137 these collisions between principal names may disable this check by
138 starting the server with this option.
139
140 =item B<-rxbind>
141
142 Bind the Rx socket to the primary interface only.  (If not specified, the
143 Rx socket will listen on all interfaces.)
144
145 =item B<-syslog>[=<I<syslog facility>>]
146
147 Specifies that logging output should go to syslog instead of the normal
148 log file.  B<-syslog>=I<FACILITY> can be used to specify to which facility
149 the log message should be sent.  Logging message sent to syslog are tagged
150 with the string "ptserver".
151
152 =item B<-logfile> <I<log file>>
153
154 Sets the file to use for server logging. If logfile is not specified, and
155 no other logging options are supplied, this will be F</usr/afs/logs/PTLog>.
156 Note that this option is intended for debugging and testing purposes.
157 Changing the location of the log file from the command line may result
158 in undesirable interactions with tools such as B<bos>.
159
160 =item B<-config> <I<configuration directory>>
161
162 Set the location of the configuration directory used to configure this
163 service. In a typical configuration this will be F</usr/afs/etc> - this
164 option allows the use of alternative configuration locations for testing
165 purposes.
166
167 =item B<-auditlog> <I<log path>>
168
169 Turns on audit logging, and sets the path for the audit log.  The audit
170 log records information about RPC calls, including the name of the RPC
171 call, the host that submitted the call, the authenticated entity (user)
172 that issued the call, the parameters for the call, and if the call
173 succeeded or failed.
174
175 =item B<-audit-interface> (file | sysvmq)
176
177 Specifies what audit interface to use. Defaults to C<file>. See
178 L<fileserver(8)> for an explanation of each interface.
179
180 =item B<-rxmaxmtu> <I<bytes>>
181
182 Sets the maximum transmission unit for the RX protocol.
183
184 =item B<-help>
185
186 Prints the online help for this command. All other valid options are
187 ignored.
188
189 =back
190
191 =head1 EXAMPLES
192
193 The following B<bos create> command creates a C<ptserver> process on the
194 machine C<fs3.abc.com>. The command appears here on multiple lines only
195 for legibility.
196
197    % bos create -server fs3.abc.com -instance ptserver \
198                 -type simple -cmd /usr/afs/bin/ptserver
199
200 =head1 PRIVILEGE REQUIRED
201
202 The issuer must be logged in as the superuser C<root> on a file server
203 machine to issue the command at a command shell prompt. It is conventional
204 instead to create and start the process by issuing the B<bos create>
205 command.
206
207 =head1 SEE ALSO
208
209 L<BosConfig(5)>,
210 L<prdb.DB0(5)>,
211 L<bos_create(8)>,
212 L<bos_getlog(8)>,
213 L<pts(1)>
214
215 =head1 COPYRIGHT
216
217 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
218
219 This documentation is covered by the IBM Public License Version 1.0.  It was
220 converted from HTML to POD by software written by Chas Williams and Russ
221 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.