HLFSD(8)                                                              HLFSD(8)


       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 any-

       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  deter-
       mine  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 direc-
              tories for this interval, in seconds.  Entries which  have  been
              verified within the last cache-interval seconds will not be ver-
              ified 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 fea-
              ture 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  log-
              file  is the string syslog then the log messages will be sent to
              the system log daemon by syslog(3), using the LOG_DAEMON  facil-
              ity.  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 sepa-
              rated  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 dis-
              couraged, as it may result in loss or misdelivery of mail.   The
              option  is  ignored  on systems that can turn off the attribute-

       -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 docu-
              mented 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 pass-
              word-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 accessi-


       amd(8), automount(8), cron(8), getgrent(3), getpwent(3), mail(1),  mnt-
       tab(4), mount(8), mtab(5), passwd(4), sendmail(8), umount(8).
       HLFSD:  Delivering  Email  to  Your  $HOME,  in Proc. LISA-VII, The 7th
       Usenix System Administration Conference, November 1993.


       Erez Zadok <ezk@cs.columbia.edu>, Computer Science Department, Columbia
       University,   New  York  City,  New  York,  USA,  and  Alexander  Dupuy
       <dupuy@smarts.com>, System Management ARTS,  White  Plains,  New  York,

                               14 September 1993                      HLFSD(8)

Man(1) output converted with man2html