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