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