hlfsd - home-link file system daemon
] [ -a alt_dir
] [ -c
] [ -g group
] [ -i
] [ -l logfile
] [ -o
] [ -x log-options
] [ -D
] [ -P password-file
] [ linkname
is a daemon which implements a filesystem 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 redirect incoming mail
to users' home directories, so that it can read from anywhere.
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 doesn't already exist. The symbolic link will be to the
accessing user's home directory, with subdir
appended to it. If not
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
- -a alt_dir
- Alternate directory. The name of the directory to which the
symbolic 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 doesn't exist. It is expected that either
users will read these files, or the system administrators will run a
script to resend this "lost mail" to its owner.
- -c cache-interval
- Caching interval. Hlfsd 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).
- Force fast startup. This option tells hlfsd to skip
startup-time consistency checks such as existence of mount directory,
alternate spool directory, symlink to be hidden under the mount directory,
their permissions and validity.
- -g group
- Set the special group HLFS_GID to group. Programs
such as from or comsat, 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 feature is disabled.
- Help. Print a brief help message, and exit.
- -i reload-interval
- Map-reloading interval. Each reload-interval
seconds, hlfsd will reload the password map. Hlfsd needs the
password map for the UIDs and home directory pathnames. Hlfsd
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.)
- -l logfile
- 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.
- No verify. Hlfsd 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 background. The -n
option overrides the meaning of the -c option, since no caching is
- -o mount-options
- 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".
- Print PID. Outputs the process-id of hlfsd to
standard output where it can be saved into a file.
- Version. Displays version information to standard
- -x log-options
- Specify run-time logging options. The options are a comma
separated list chosen from: fatal, error, user, warn, info, map, stats,
- Force hlfsd to run on systems that cannot turn off
the NFS attribute-cache. Use of this option on those systems is
discouraged, as it may result in loss or mis-delivery of mail. The option
is ignored on systems that can turn off the attribute-cache.
- -D log-options
- 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 documented here. A
fuller description is available in the program source. A SIGUSR1 sent to
hlfsd will cause it to dump its internal password map to the file
- -P password-file
- 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(4).
- directory under which hlfsd mounts itself and
manages the symbolic link home.
- default sub-directory in the user's home directory, to
which the home symbolic link returned by hlfsd points.
- directory to which home symbolic link returned by
hlfsd points if it is unable to verify the that user's home
directory is accessible.
HLFSD: Delivering Email to Your $HOME
, in Proc. LISA-VII, The 7th
Usenix System Administration Conference
, November 1993.
Linux NFS and Automounter Administration
by Erez Zadok, ISBN
0-7821-2739-8, (Sybex, 2001).
Erez Zadok <firstname.lastname@example.org>, Computer Science Department, Stony Brook
University, Stony Brook, New York, USA. and 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
distributed with am-utils.