HLFSD(8) BSD System Manager's Manual HLFSD(8)NAMEhlfsd — home-link file system daemon
SYNOPSIShlfsd [-fhnpvC] [-a alt_dir] [-c cache-interval] [-g group]
[-i reload-interval] [-l logfile] [-o mount-options]
[-x log-options] [-D debug-options] [-P password-file]
The hlfsd utility is a daemon which implements a file system containing a
symbolic link to subdirectory within a user's home directory, depending
on the user which accessed that link. It was primarily designed to redi‐
rect incoming mail to users' home directories, so that it can read from
The hlfsd utility operates by mounting itself as an NFS server for the
directory containing linkname, which defaults to /hlfs/home. Lookups
within that directory are handled by hlfsd, which uses the password map
to determine how to resolve the lookup. The directory will be created if
it does not already exist. The symbolic link will be to the accessing
user's home directory, with subdir appended to it. If not specified,
subdir defaults to .hlfsdir. This directory will also be created if it
does not already exist.
A SIGTERM sent to hlfsd will cause it to shutdown. A SIGHUP will flush
the internal caches, and reload the password map. It will also close and
reopen the log file, to enable the original log file to be removed or
rotated. A SIGUSR1 will cause it to dump its internal table of user IDs
and home directories to the file /usr/tmp/hlfsd.dump.XXXXXX.
Alternate directory. The name of the directory to which the sym‐
bolic link returned by hlfsd will point, if it cannot access the
home directory of the user. This defaults to /var/hlfs. This
directory will be created if it does not exist. It is expected
that either users will read these files, or the system adminis‐
trators will run a script to resend this “lost mail” to its
Caching interval. The hlfsd utility will cache the validity of
home directories for this interval, in seconds. Entries which
have been verified within the last cache-interval seconds will
not be verified again, since the operation could be expensive,
and the entries are most likely still valid. After the interval
has expired, hlfsd will re-verify the validity of the user's home
directory, and reset the cache time-counter. The default value
for cache-interval is 300 seconds (5 minutes).
-f Force fast startup. This option tells hlfsd to skip startup-time
consistency checks such as existence of mount directory, alter‐
nate spool directory, symlink to be hidden under the mount direc‐
tory, their permissions and validity.
Set the special group HLFS_GID to group. Programs such as
comsat(8), (which access the mailboxes of other users) must be
setgid HLFS_GID to work properly. The default group is “hlfs”.
If no group is provided, and there is no group “hlfs”, this fea‐
ture is disabled.
-h Help. Print a brief help message, and exit.
Map-reloading interval. Each reload-interval seconds, hlfsd will
reload the password map. The hlfsd utility needs the password
map for the UIDs and home directory pathnames. The hlfsd utility
schedules a SIGALRM to reload the password maps. A SIGHUP sent
to hlfsd will force it to reload the maps immediately. The
default value for reload-interval is 900 seconds (15 minutes).
Specify a log file to which hlfsd will record events. If logfile
is the string “syslog” then the log messages will be sent to the
system log daemon by syslog(3), using the LOG_DAEMON facility.
This is also the default.
-n No verify. The hlfsd utility will not verify the validity of the
symbolic link it will be returning, or that the user's home
directory contains sufficient disk-space for spooling. This can
speed up hlfsd at the cost of possibly returning symbolic links
to home directories which are not currently accessible or are
full. By default, hlfsd validates the symbolic-link in the back‐
ground. The -n option overrides the meaning of the -c option,
since no caching is necessary.
Mount options. Mount options which hlfsd will use to mount
itself on top of dirname. By default, mount-options is set to
“ro”. If the system supports symbolic-link caching, default
options are set to “ro,nocache”.
-p Print PID. Outputs the process ID of hlfsd to standard output
where it can be saved into a file.
-v Version. Displays version information to standard error.
Specify run-time logging options. The options are a comma sepa‐
rated list chosen from: fatal, error, user, warn, info, map,
-C Force hlfsd to run on systems that cannot turn off the NFS
attribute-cache. Use of this option on those systems is discour‐
aged, as it may result in loss or mis-delivery of mail. The
option is ignored on systems that can turn off the attribute-
Select from a variety of debugging options. Prefixing an option
with the string “no” reverses the effect of that option. Options
are cumulative. The most useful option is “all”. Since this
option is only used for debugging other options are not docu‐
mented here. A fuller description is available in the program
source. A SIGUSR1 sent to hlfsd will cause it to dump its inter‐
nal password map to the file /usr/tmp/hlfsd.dump.XXXXXX.
Read the user-name, user-id, and home directory information from
the file password-file. Normally, hlfsd will use getpwent(3) to
read the password database. This option allows you to override
the default database, and is useful if you want to map users'
mail files to a directory other than their home directory. Only
the username, uid, and home-directory fields of the file
password-file are read and checked. All other fields are
ignored. The file password-file must otherwise be compliant with
UNIX System 7 colon-delimited format passwd(5).
/hlfs directory under which hlfsd mounts itself and manages the sym‐
bolic link home.
.hlfsdir default sub-directory in the user's home directory, to which
the home symbolic link returned by hlfsd points.
/var/hlfs directory to which home symbolic link returned by hlfsd points
if it is unable to verify the that user's home directory is
SEE ALSOmail(1), getgrent(3), getpwent(3), mtab(5), passwd(5), amd(8), cron(8),
mount(8), sendmail(8), umount(8)
"HLFSD: Delivering Email to Your $HOME", Proc. LISA-VII, The 7th Usenix
System Administration Conference, November 1993.
“am-utils” info(1) entry.
Erez Zadok, Linux NFS and Automounter Administration, Sybex, 2001, ISBN
The hlfsd utility appeared in FreeBSD 3.0.
Erez Zadok ⟨firstname.lastname@example.org⟩, Computer Science Department, Stony Brook
University, Stony Brook, New York, USA.
Alexander Dupuy ⟨email@example.com⟩, System Management ARTS, White Plains,
New York, USA.
Other authors and contributors to am-utils are listed in the AUTHORS file
distributed with am-utils.
BSD January 2, 2006 BSD