Windows: NotifyHardLink avoid null ptr reference
[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 Assigns the unprivileged identity C<anonymous> to the issuer, which is
123 useful only when authorization checking is disabled on the server machine
124 (for instance, during the installation of a file server machine.)
125
126 =item B<-log>
127
128 Records in the F</usr/afs/logs/BosLog> file the names of all users who
129 successfully issue a privileged B<bos> command (one that requires being
130 listed in the F</usr/afs/etc/UserList> file).
131
132 =item B<-cores=>none|<I<path>>
133
134 The argument none turns off core file generation. Otherwise, the
135 argument is a path where core files will be stored.
136
137 =item B<-auditlog> <I<log path>>
138
139 Turns on audit logging, and sets the path for the audit log.  The audit
140 log records information about RPC calls, including the name of the RPC
141 call, the host that submitted the call, the authenticated entity (user)
142 that issued the call, the parameters for the call, and if the call
143 succeeded or failed.
144
145 =item B<-audit-interface> (file | sysvmq)
146
147 Specifies what audit interface to use. Defaults to C<file>. See
148 L<fileserver(8)> for an explanation of each interface.
149
150 =item B<-enable_peer_stats>
151
152 Activates the collection of Rx statistics and allocates memory for their
153 storage. For each connection with a specific UDP port on another machine,
154 a separate record is kept for each type of RPC (FetchFile, GetStatus, and
155 so on) sent or received. To display or otherwise access the records, use
156 the Rx Monitoring API.
157
158 =item B<-enable_process_stats>
159
160 Activates the collection of Rx statistics and allocates memory for their
161 storage. A separate record is kept for each type of RPC (FetchFile,
162 GetStatus, and so on) sent or received, aggregated over all connections to
163 other machines. To display or otherwise access the records, use the Rx
164 Monitoring API.
165
166 =item B<-allow-dotted-principals>
167
168 By default, the RXKAD security layer will disallow access by Kerberos
169 principals with a dot in the first component of their name. This is to avoid
170 the confusion where principals user/admin and user.admin are both mapped to the
171 user.admin PTS entry. Sites whose Kerberos realms don't have these collisions 
172 between principal names may disable this check by starting the server
173 with this option.
174
175 =item B<-restricted>
176
177 In normal operation, the bos server allows a super user to run any command.
178 When the bos server is running in restricted mode (either due to this
179 command line flag, or when configured by L<bos_setrestricted(8)>) a number
180 of commands are unavailable. Note that this flag persists across reboots.
181 Once a server has been placed in restricted mode, it can only be opened up
182 by sending the SIGFPE signal.
183
184 =item B<-rxmaxmtu> <I<bytes>>
185
186 Sets the maximum transmission unit for the RX protocol.
187
188 =item B<-rxbind>
189
190 Bind the Rx socket to the primary interface only.  If not specified, the
191 Rx socket will listen on all interfaces.
192
193 =item B<-syslog>[=<I<facility>>]>
194
195 Specifies that logging output should go to syslog instead of the normal
196 log file.  B<-syslog>=I<facility> can be used to specify to which facility
197 the log message should be sent.
198
199 =item B<-pidfiles>[=<I<path>>]
200
201 Create a one-line file containing the process id (pid) for each non-cron
202 process started by the BOS Server.  This file is removed by the BOS Server when
203 the process exits.  The optional <I<path>> argument specifies the path where
204 the pid files are to be created.  The default location is C</usr/afs/local>.
205
206 The name of the pid files for C<simple> BOS Server process types are the BOS
207 Server instance name followed by C<.pid>.
208
209 The name of the pid files for C<fs> and C<dafs> BOS Server process types are
210 the BOS Server type name, C<fs> or C<dafs>, followed by the BOS Server core
211 name of the process, followed by C<.pid>.  The pid file name for the
212 C<fileserver> process is C<fs.file.pid>. The pid file name for the C<volserver>
213 is C<fs.vol.pid>.
214
215 BOS Server instance names are specfied using the B<bos create> command.  See
216 L<bos_create> for a description of the BOS Server process types and instance
217 names.
218
219 =item B<-nofork>
220
221 Run the BOS Server in the foreground. By default, the BOS Server process will
222 fork and detach the stdio, stderr, and stdin streams.
223
224 =item B<-help>
225
226 Prints the online help for this command. All other valid options are
227 ignored.
228
229 =back
230
231 =head1 EXAMPLES
232
233 The following command initializes the BOS Server and logs the names of
234 users who issue privileged B<bos> commands.
235
236    % bosserver -log
237
238 =head1 PRIVILEGE REQUIRED
239
240 The issuer most be logged onto a file server machine as the local
241 superuser C<root>.
242
243 =head1 SEE ALSO
244
245 L<BosConfig(5)>,
246 L<BosLog(5)>,
247 L<bos(8)>,
248 L<bos_create(8)>,
249 L<bos_exec(8)>,
250 L<bos_getlog(8)>,
251 L<bos_getrestart(8)>,
252 L<bos_restart(8)>,
253 L<bos_setrestricted(8)>,
254 L<bos_shutdown(8)>,
255 L<bos_start(8)>,
256 L<bos_startup(8)>,
257 L<bos_status(8)>,
258 L<bos_stop(8)>
259
260 =head1 COPYRIGHT
261
262 IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved.
263
264 This documentation is covered by the IBM Public License Version 1.0.  It was
265 converted from HTML to POD by software written by Chas Williams and Russ
266 Allbery, based on work by Alf Wachsmann and Elizabeth Cassell.