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