Provided by: diod_1.0.24-5_amd64 bug


       diod.conf - distributed I/O daemon configuration file


       The  diod.conf  file is actually a LUA script.  Internal config defaults are overridden by
       settings in the file, and some of those values can in turn be overridden  on  the  command

       Config  settings take the form of LUA global variables which are read out after the config
       file is executed.  Therefore, the values  of  said  variables  can  either  be  statically
       assigned or computed.  The variables are described below.


       listen = { "IP:PORT" [,"IP:PORT",...] }
              List  the  interfaces  and  ports  that  diod  should  listen  on.   The default is

       exports = { "/path" [, "/path", ...] }
              List the file systems that clients will be allowed to mount.  All paths  should  be
              fully  qualified.   The  exports  table  can include two types of element: a string
              element (as above), or an alternate table element form { path="/path", opts="ro" }.
              In  the  alternate form, the (optional) opts attribute is a comma-separated list of
              export options, as described below in EXPORT OPTIONS.  The two table element  forms
              can  be mixed in the exports table.  Note that although diod will not traverse file
              system  boundaries  for  a  given  mount  due  to  inode  uniqueness   constraints,
              subdirectories of a file system can be separately exported.

       exportall = 1
              Export  all  file  systems listed in /proc/mounts.  If new file systems are mounted
              after diod has started, they will become immediately  mountable.   If  there  is  a
              duplicate  entry  for  a file system in the exports list, any options listed in the
              exports entry will apply.

       exportopts = "opt,opt,..."
              Establish a default set of export options.  These are overridden, not appended  to,
              by opts attributes in an "exports" entry.

       nwthreads = INTEGER
              Sets  the  (fixed)  number  of  worker  threads created to handle 9P requests for a
              unique aname.  The default is 16 per aname.

       auth_required = 0
              Allow clients to  connect  without  authentication,  i.e.  without  a  valid  MUNGE

       userdb = 0
              This  option  disables  password/group  lookups.   It  allows any uid to attach and
              assumes gid=uid, and supplementary groups contain only the primary gid.

       allsquash = 1
              Remap all users to "nobody".  The  attaching  user  need  not  be  present  in  the
              password file.

       squashuser = "nobody"
              Change the squash user from the default of nobody.  The squash user must be present
              in the password file.

       logdest = "DEST"
              Set the destination for logging.  DEST is in the form of  syslog:facility:level  or
              filename.  The default is syslog:daemon:err.

       statfs_passthru = 1
              This  option  configures  statfs  to return the host file system's type rather than
              V9FS_MAGIC.  The default is 0 (return V9FS_MAGIC).


       The following export options are defined:

       ro     Export the file system read-only.

              Exclude this file system from exports.  Useful following exportall = 1.

              Allow limited server-side file descriptor sharing for files opened O_RDONLY by  the
              same user.

              Reject attach request unless client is bound to a port in the privileged port range
              (512-1023).  The diodcat utility has a --privport option which, when run  as  root,
              binds  to  a privileged socket before connecting.  This provides limited additional
              security, especially in open networks, as it is vulnerable to IP spoofing attacks.

       noauth Allow attach to succeed without authentication.


       -- example diod.conf
       listen = { "" }
       exports = {
            { path="ctl", opts="ro,noauth" },
            { path="/usr/local", opts="ro" },
       nwthreads = 8




       lua (1), diod (8), openlog (3)