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