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