hlfsd - home-link file system daemon
hlfsd [ -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 ] [ linkname [
  subdir ] ]
Hlfsd 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.
Hlfsd 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 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.
  - -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).
- -f
- 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.
- -h
- 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.
- -n
- 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 necessary.
- -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".
- -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.
- -x log-options
- Specify run-time logging options. The options are a comma separated list
      chosen from: fatal, error, user, warn, info, map, stats, all.
- -C
- 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
      /usr/tmp/hlfsd.dump.XXXXXX.
- -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(5).
  - /hlfs
- directory under which hlfsd mounts itself and manages the symbolic
      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
      accessible.
mail(1), getgrent(3), getpwent(3), passwd(5),
  amd(8), cron(8), mount(8), sendmail(8),
  umount(8).HLFSD: Delivering Email to Your $HOME, in Proc.
    LISA-VII, The 7th Usenix System Administration Conference, November
    1993.
``am-utils'' info(1) entry.
Linux NFS and Automounter Administration by Erez Zadok,
    ISBN 0-7821-2739-8, (Sybex, 2001).
http://www.am-utils.org
Erez Zadok <ezk@cs.sunysb.edu>, Computer Science Department, Stony Brook
  University, Stony Brook, New York, USA. and Alexander Dupuy
  <dupuy@smarts.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.