Initial import from FreeBSD RELENG_4:
[dragonfly.git] / contrib / amd / hlfsd / hlfsd.8
1 .\"
2 .\" Copyright (c) 1997-1999 Erez Zadok
3 .\" Copyright (c) 1989 Jan-Simon Pendry
4 .\" Copyright (c) 1989 Imperial College of Science, Technology & Medicine
5 .\" Copyright (c) 1989 The Regents of the University of California.
6 .\" All rights reserved.
7 .\"
8 .\" This code is derived from software contributed to Berkeley by
9 .\" Jan-Simon Pendry at Imperial College, London.
10 .\"
11 .\" Redistribution and use in source and binary forms, with or without
12 .\" modification, are permitted provided that the following conditions
13 .\" are met:
14 .\" 1. Redistributions of source code must retain the above copyright
15 .\"    notice, this list of conditions and the following disclaimer.
16 .\" 2. Redistributions in binary form must reproduce the above copyright
17 .\"    notice, this list of conditions and the following disclaimer in the
18 .\"    documentation and/or other materials provided with the distribution.
19 .\" 3. All advertising materials mentioning features or use of this software
20 .\"    must display the following acknowledgment:
21 .\"      This product includes software developed by the University of
22 .\"      California, Berkeley and its contributors.
23 .\" 4. Neither the name of the University nor the names of its contributors
24 .\"    may be used to endorse or promote products derived from this software
25 .\"    without specific prior written permission.
26 .\"
27 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
28 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37 .\" SUCH DAMAGE.
38 .\"
39 .\" $Id: hlfsd.8,v 1.2 1999/01/10 21:54:32 ezk Exp $
40 .\" $FreeBSD: src/contrib/amd/hlfsd/hlfsd.8,v 1.5.2.5 2001/08/16 10:53:40 ru Exp $
41 .\"
42 .\" HLFSD was written at Columbia University Computer Science Department, by
43 .\" Erez Zadok <ezk@cs.columbia.edu> and Alexander Dupuy <dupuy@smarts.com>
44 .\" It is distributed under the same terms and conditions as AMD.
45 .\"
46 .Dd September 14, 1993
47 .Dt HLFSD 8
48 .Os
49 .Sh NAME
50 .Nm hlfsd
51 .Nd home-link file system daemon
52 .Sh SYNOPSIS
53 .Nm 
54 .Op Fl fhnpvC
55 .Op Fl a Ar alt_dir
56 .Bk -words
57 .Op Fl c Ar cache-interval
58 .Ek
59 .Op Fl g Ar group
60 .Bk -words
61 .Op Fl i Ar reload-interval
62 .Ek
63 .Op Fl l Ar logfile
64 .Bk -words
65 .Op Fl o Ar mount-options
66 .Op Fl x Ar log-options
67 .Op Fl D Ar debug-options
68 .Op Fl P Ar password-file
69 .Ek
70 .Op linkname Op subdir
71 .Sh DESCRIPTION
72 .Nm 
73 is a daemon which implements a filesystem containing a symbolic link to
74 subdirectory within a user's home directory, depending on the user
75 which accessed that link.  It was primarily designed to redirect
76 incoming mail to users' home directories, so that it can read from
77 anywhere.
78 .Pp
79 .Nm
80 operates by mounting itself as an
81 .Tn NFS
82 server for the directory containing
83 .Ar linkname ,
84 which defaults to
85 .Pa /hlfs/home .
86 Lookups within that directory are handled by
87 .Nm hlfsd ,
88 which uses the password map to determine how to resolve the lookup.  The
89 directory will be created if it doesn't already exist.  The symbolic link will
90 be to the accessing user's home directory, with
91 .Ar subdir
92 appended to it.  If not specified,
93 .Ar subdir
94 defaults to 
95 .Pa .hlfsdir .
96 This directory will also be created if it does not already exist.
97 .Pp
98 A
99 .Er SIGHUP
100 will flush the internal caches, and reload the password map.  It will also
101 close and reopen the log file, to enable the original log file to be removed
102 or rotated.  A 
103 .Er SIGUSR1
104 will cause it to dump its internal table of user IDs and home directories to
105 the file
106 .Pa /usr/tmp/hlfsd.dump.XXXXXX .
107 .Sh OPTIONS
108 .Bl -tag -width Ds
109 .It Fl a Ar alt_dir
110 Alternate directory.  The name of the directory to which
111 the symbolic link returned by
112 .Nm
113 will point, if it cannot access the home directory of the user.  This
114 defaults to
115 .Pa /var/hlfs .
116 This directory will be created  if it doesn't exist.  It is expected
117 that either users will read these files, or the system administrators
118 will run a script to resend this
119 .Dq lost mail
120 to its owner.
121 .It Fl c Ar cache-interval
122 Caching interval.
123 .Nm
124 will cache the validity of home directories for this interval, in
125 seconds.  Entries which have been verified within the last
126 .Ar cache-interval
127 seconds will not be verified again, since the operation could
128 be expensive, and the entries are most likely still valid.
129 After the interval has expired,
130 .Nm
131 will re-verify the validity of the user's home directory, and
132 reset the cache time-counter.  The default value for
133 .Ar cache-interval
134 is 300 seconds 
135 (5 minutes).
136 .It Fl f 
137 Force fast startup.  This option tells
138 .Nm
139 to skip startup-time consistency checks such as existence of mount
140 directory, alternate spool directory, symlink to be hidden under the
141 mount directory, their permissions and validity.
142 .It Fl g Ar group
143 Set the special group
144 .Va HLFS_GID
145 to
146 .Ar group .
147 Programs such as
148 .Ic comsat ,
149 (which access the mailboxes of other users)
150 must be setgid
151 .Va HLFS_GID
152 to work properly.  The default group is
153 .Dq hlfs .
154 If no group is provided, and there is no group 
155 .Dq hlfs , 
156 this feature is disabled.
157 .It Fl h
158 Help.  Print a brief help message, and exit.
159 .It Fl i Ar reload-interval
160 Map-reloading interval.  Each
161 .Ar reload-interval
162 seconds,
163 .Nm
164 will reload the password map.
165 .Nm
166 needs the password map for the UIDs and home directory pathnames.
167 .Nm
168 schedules a 
169 .Va SIGALRM 
170 to reload the password maps.  A 
171 .Va SIGHUP 
172 sent to
173 .Nm
174 will force it to reload the maps immediately.   The default value for
175 .Ar reload-interval
176 is 900 seconds 
177 (15 minutes).
178 .It Fl l Ar logfile
179 Specify a log file to which
180 .Nm
181 will record events.  If
182 .Pa logfile
183 is the string
184 .Pa syslog
185 then the log messages will be sent to the system log daemon by
186 .Xr syslog 3 ,
187 using the 
188 .Va LOG_DAEMON
189 facility.  This is also the default.
190 .It Fl n
191 No verify.
192 .Nm
193 will not verify the validity of the symbolic link it will be
194 returning, or that the user's home directory contains
195 sufficient disk-space for spooling.  This can speed up
196 .Nm
197 at the cost of possibly returning symbolic links to home
198 directories which are not currently accessible or are full.
199 By default,
200 .Nm
201 validates the symbolic-link in the background.
202 The 
203 .Fl n
204 option overrides the meaning of the
205 .Fl c
206 option, since no caching is necessary.
207 .It Fl o Ar mount-options
208 Mount options.  Mount options which
209 .Nm
210 will use to mount itself on top of
211 .Pa dirname .
212 By default,
213 .Ar mount-options
214 is set to
215 .Qq ro .
216 If the system supports symbolic-link caching, default
217 options are set to 
218 .Qq ro,nocache .
219 .It Fl p
220 Prints 
221 .Va PID .
222 Outputs the process-id of
223 .Nm
224 to standard output where it can be saved into a file.
225 .It Fl v
226 Version.  Displays version information to standard error.
227 .It Fl x Ar log-options
228 Specify run-time logging options.  The options are a comma separated
229 list chosen from: fatal, error, user, warn, info, map, stats, all.
230 .It Fl C
231 Force
232 .Nm
233 to run on systems that cannot turn off the NFS attribute-cache.  Use of
234 this option on those systems is discouraged, as it may result in loss
235 or misdelivery of mail.  The option is ignored on systems that can turn
236 off the attribute-cache.
237 .It Fl D Ar log-options
238 Select from a variety of debugging options.  Prefixing an
239 option with the string
240 .Qq no
241 reverses the effect of that option.  Options are cumulative.
242 The most useful option is
243 .Em all .
244 Since this option is only used for debugging other options are not
245 documented here.  A fuller description is available in the program
246 source.  A 
247 .Va SIGUSR1
248 sent to
249 .Nm
250 will cause it to dump its internal password map to the file
251 .Pa /usr/tmp/hlfsd.dump.XXXXXX .
252 .It Fl P Ar password-file
253 Read the user-name, user-id, and home directory information from the file
254 .Ar password-file .
255 Normally,
256 .Nm
257 will use
258 .Xr getpwent 3
259 to read the password database.  This option allows you to override the
260 default database, and is useful if you want to map users' mail files to a
261 directory other than their home directory.  Only the username, uid, and
262 home-directory fields of the file
263 .Ar password-file
264 are read and checked.  All other fields are ignored.  The file
265 .Ar password-file
266 must be compliant with 
267 .Ux 
268 System 7 colon-delimited format
269 .Xr passwd 5 .
270 .El
271 .Sh FILES
272 .Bl -tag -width /axx
273 .It Pa /hlfs
274 directory under which
275 .Nm
276 mounts itself and manages the symbolic link
277 .Pa home .
278 .It Pa .hlfsdir
279 default sub-directory in the user's home directory, to which the
280 .Pa home
281 symbolic link returned by
282 .Nm
283 points.
284 .It Pa /var/hlfs
285 directory to which
286 .Pa home
287 symbolic link returned by
288 .Nm
289 points if it is unable to verify the that
290 user's home directory is accessible.
291 .El
292 .Sh SEE ALSO
293 .Xr mail 1 ,
294 .Xr getgrent 3 ,
295 .Xr getpwent 3 ,
296 .Xr mtab 5 ,
297 .Xr passwd 5 ,
298 .Xr amd 8 ,
299 .Xr cron 8 , 
300 .Xr mount 8 ,
301 .Xr sendmail 8 ,
302 .Xr umount 8
303 .Rs
304 .%T HLFSD:  Delivering Email to Your $HOME
305 .%B Proc. LISA-VII, The 7th Usenix System Administration Conference
306 .%D November 1993
307 .Re
308 .Sh AUTHORS
309 .An Erez Zadok Aq ezk@cs.columbia.edu ,
310 Department of Computer Science, Columbia University,
311 New York, USA.
312 .Pp
313 .An Alexander Dupuy Aq dupuy@smarts.com ,
314 System Management ARTS, White Plains, New York, USA.
315 .Sh HISTORY
316 The
317 .Nm
318 utility appeared in
319 .Fx 3.0 .