doc: bosserver manpage fixes
[openafs.git] / doc / man-pages / pod8 / bosserver.pod
1 =head1 NAME
2
3 bosserver - Initializes the BOS Server
4
5 =head1 SYNOPSIS
6
7 =for html
8 <div class="synopsis">
9
10 B<bosserver>
11     S<<< [B<-noauth>] >>>
12     S<<< [B<-log>] >>>
13     S<<< [B<-enable_peer_stats>] >>>
14     S<<< [B<-auditlog> <I<log path>>] >>>
15     S<<< [B<-audit-interface> ( file | sysvmq )] >>>
16     S<<< [B<-enable_process_stats>] >>>
17     S<<< [B<-allow-dotted-principals>] >>>
18     S<<< [B<-cores>[=none|<I<path>>]] >>>
19     S<<< [B<-restricted>] >>>
20     S<<< [B<-rxmaxmtu> <I<bytes>>] >>>
21     S<<< [B<-rxbind>] >>>
22     S<<< [B<-syslog>[=<I<facility>>]>] >>>
23     S<<< [B<-pidfiles>[=<I<path>>]] >>>
24     S<<< [B<-nofork>] >>>
25     S<<< [B<-help>] >>>
26
27 =for html
28 </div>
29
30 =head1 DESCRIPTION
31
32 The bosserver command initializes the Basic OverSeer (BOS) Server
33 (B<bosserver> process). In the conventional configuration, the binary file
34 is located in the F</usr/afs/bin> directory on a file server machine.
35
36 The BOS Server must run on every file server machine and helps to automate
37 file server administration by performing the following tasks:
38
39 =over 4
40
41 =item *
42
43 Monitors the other AFS server processes on the local machine, to make sure
44 they are running correctly.
45
46 =item *
47
48 Automatically restarts failed processes, without contacting a human
49 operator. When restarting multiple server processes simultaneously, the
50 BOS Server takes interdependencies into account and initiates restarts in
51 the correct order.
52
53 =item *
54
55 Processes commands from the bos suite that administrators issue to verify
56 the status of server processes, install and start new processes, stop
57 processes either temporarily or permanently, and restart halted processes.
58
59 =item *
60
61 Manages system configuration information: the files that list the cell's
62 server encryption keys, database server machines, and users privileged to
63 issue commands from the B<bos> and B<vos> suites.
64
65 =back
66
67 The BOS Server is configured via the F<BosConfig> configuration file.
68 Normally, this file is managed via the B<bos> command suite rather than
69 edited directly.  See the L<BosConfig(5)> man page for the syntax of this
70 file.
71
72 The BOS Server will rewrite B<BosConfig> when shutting down, so changes
73 made manually to it will be discarded.  Instead, to change the BOS Server
74 configuration only for the next restart of B<bosserver>, create a file
75 named F</usr/afs/local/BosConfig.new>.  If B<BosConfig.new> exists when
76 B<bosserver> starts, it is renamed to F</usr/afs/local/BosConfig>,
77 removing any existing file by that name, before B<bosserver> reads its
78 configuration.
79
80 The BOS Server logs a default set of important events in the file
81 F</usr/afs/logs/BosLog>. To record the name of any user who performs a
82 privileged B<bos> command (one that requires being listed in the
83 F</usr/afs/etc/UserList> file), add the B<-log> flag. To display the
84 contents of the B<BosLog> file, use the B<bos getlog> command.
85
86 The first time that the BOS Server initializes on a server machine, it
87 creates several files and subdirectories in the local F</usr/afs>
88 directory, and sets their mode bits to protect them from unauthorized
89 access. Each time it restarts, it checks that the mode bits still comply
90 with the settings listed in the following chart. A question mark indicates
91 that the BOS Server initially turns off the bit (sets it to the hyphen),
92 but does not check it at restart.
93
94    /usr/afs              drwxr?xr-x
95    /usr/afs/backup       drwx???---
96    /usr/afs/bin          drwxr?xr-x
97    /usr/afs/db           drwx???---
98    /usr/afs/etc          drwxr?xr-x
99    /usr/afs/etc/KeyFile  -rw????---
100    /usr/afs/etc/UserList -rw?????--
101    /usr/afs/local        drwx???---
102    /usr/afs/logs         drwxr?xr-x
103
104 If the mode bits do not comply, the BOS Server writes the following
105 warning to the F<BosLog> file:
106
107    Bosserver reports inappropriate access on server directories
108
109 However, the BOS Server does not reset the mode bits, so the administrator
110 can set them to alternate values if desired (with the understanding that
111 the warning message then appears at startup).
112
113 This command does not use the syntax conventions of the AFS command
114 suites. Provide the command name and all option names in full.
115
116 =head1 OPTIONS
117
118 =over 4
119
120 =item B<-noauth>
121
122 Turns off all authorization checks, and allows all connecting users to act as
123 administrators, even unauthenticated users. The use of this option is
124 inherently insecure, and should only be used in controlled environments for
125 experimental or debug purposes. See L<NoAuth(5)>.
126
127 =item B<-log>
128
129 Records in the F</usr/afs/logs/BosLog> file the names of all users who
130 successfully issue a privileged B<bos> command (one that requires being
131 listed in the F</usr/afs/etc/UserList> file).
132
133 =item B<-cores=>none|<I<path>>
134
135 The argument none turns off core file generation. Otherwise, the
136 argument is a path where core files will be stored.
137
138 =item B<-auditlog> <I<log path>>
139
140 Turns on audit logging, and sets the path for the audit log.  The audit
141 log records information about RPC calls, including the name of the RPC
142 call, the host that submitted the call, the authenticated entity (user)
143 that issued the call, the parameters for the call, and if the call
144 succeeded or failed.
145
146 =item B<-audit-interface> (file | sysvmq)
147
148 Specifies what audit interface to use. Defaults to C<file>. See
149 L<fileserver(8)> for an explanation of each interface.
150
151 =item B<-enable_peer_stats>
152
153 Activates the collection of Rx statistics and allocates memory for their
154 storage. For each connection with a specific UDP port on another machine,
155 a separate record is kept for each type of RPC (FetchFile, GetStatus, and
156 so on) sent or received. To display or otherwise access the records, use
157 the Rx Monitoring API.
158
159 =item B<-enable_process_stats>
160
161 Activates the collection of Rx statistics and allocates memory for their
162 storage. A separate record is kept for each type of RPC (FetchFile,
163 GetStatus, and so on) sent or received, aggregated over all connections to
164 other machines. To display or otherwise access the records, use the Rx
165 Monitoring API.
166
167 =item B<-allow-dotted-principals>
168
169 By default, the RXKAD security layer will disallow access by Kerberos
170 principals with a dot in the first component of their name. This is to avoid
171 the confusion where principals user/admin and user.admin are both mapped to the
172 user.admin PTS entry. Sites whose Kerberos realms don't have these collisions 
173 between principal names may disable this check by starting the server
174 with this option.
175
176 =item B<-restricted>
177
178 In normal operation, the bos server allows a super user to run any command.
179 When the bos server is running in restricted mode (either due to this
180 command line flag, or when configured by L<bos_setrestricted(8)>) a number
181 of commands are unavailable. Note that this flag persists across reboots.
182 Once a server has been placed in restricted mode, it can only be opened up
183 by sending the SIGFPE signal.
184
185 =item B<-rxmaxmtu> <I<bytes>>
186
187 Sets the maximum transmission unit for the RX protocol.
188
189 =item B<-rxbind>
190
191 Bind the Rx socket to the primary interface only.  If not specified, the
192 Rx socket will listen on all interfaces.
193
194 =item B<-syslog>[=<I<facility>>]>
195
196 Specifies that logging output should go to syslog instead of the normal
197 log file.  B<-syslog>=I<facility> can be used to specify to which facility
198 the log message should be sent.
199
200 =item B<-pidfiles>[=<I<path>>]
201
202 Create a one-line file containing the process id (pid) for each non-cron
203 process started by the BOS Server.  This file is removed by the BOS Server when
204 the process exits.  The optional <I<path>> argument specifies the path where
205 the pid files are to be created.  The default location is C</usr/afs/local>.
206
207 The name of the pid files for C<simple> BOS Server process types are the BOS
208 Server instance name followed by C<.pid>.
209
210 The name of the pid files for C<fs> and C<dafs> BOS Server process types are
211 the BOS Server type name, C<fs> or C<dafs>, followed by the BOS Server core
212 name of the process, followed by C<.pid>.  The pid file name for the
213 C<fileserver> process is C<fs.file.pid>. The pid file name for the C<volserver>
214 is C<fs.vol.pid>.
215
216 BOS Server instance names are specfied using the B<bos create> command.  See
217 L<bos_create> for a description of the BOS Server process types and instance
218 names.
219
220 =item B<-nofork>
221
222 Run the BOS Server in the foreground. By default, the BOS Server process will
223 fork and detach the stdio, stderr, and stdin streams.
224
225 =item B<-help>
226
227 Prints the online help for this command. All other valid options are
228 ignored.
229
230 =back
231
232 =head1 EXAMPLES
233
234 The following command initializes the BOS Server and logs the names of
235 users who issue privileged B<bos> commands.
236
237    % bosserver -log
238
239 =head1 PRIVILEGE REQUIRED
240
241 The issuer most be logged onto a file server machine as the local
242 superuser C<root>.
243
244 =head1 SEE ALSO
245
246 L<BosConfig(5)>,
247 L<BosLog(5)>,
248 L<bos(8)>,
249 L<bos_create(8)>,
250 L<bos_exec(8)>,
251 L<bos_getlog(8)>,
252 L<bos_getrestart(8)>,
253 L<bos_restart(8)>,
254 L<bos_setrestricted(8)>,
255 L<bos_shutdown(8)>,
256 L<bos_start(8)>,
257 L<bos_startup(8)>,
258 L<bos_status(8)>,
259 L<bos_stop(8)>
260
261 =head1 COPYRIGHT
262
263 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
264
265 This documentation is covered by the IBM Public License Version 1.0.  It was
266 converted from HTML to POD by software written by Chas Williams and Russ
267 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.