Provided by: userv_1.2.1~beta4_amd64 bug


     uservd — supply user services


     userv [-daemon]


     uservd is the daemon called by userv to have a task performed under different userid while
     maintaining limited trust between caller and callee.


     There is one optional argument:

     -daemon     Requests that the program daemonise.  If this flag is supplied, uservd will fork
                 and completely detach from the controlling terminal.  If this option is not
                 supplied, uservd will remain in its starting process group and continue to use
                 the supplied stderr stream for any runtime system messages; this is useful for
                 running uservd as a child of init.  Errors detected by uservd itself will be
                 reported via syslog in either case.


     uservd issues diagnostics of various kinds to syslog, with facility LOG_DAEMON.  The syslog
     levels used are:

     debug       Verbose messages about the activity of the userv daemon.

     info        Two log messages about the nature and outcome of each request.

     notice      Messages about the status of the daemon, including the startup message and the
                 hourly socket check messages.

     warning     If the uservd exits because it believes that it no longer controls the
                 rendezvous socket (ie, its socket has become orphaned), this level will receive
                 messages indicating why the daemon believes this and notifying of its shutdown.

     err         A believed-recoverable error condition was detected by the userv server in
                 itself, the client or the operating system (this includes resource shortages).
                 The uservd will try to continue.

     crit        The uservd detected a non-recoverable error condition after startup and will

     alert       not used.

     emerg       not used.

     The service configuration language has the facility to direct error and warning messages to
     syslog.  The default facility and level is user.err, but the author of the configuration
     file(s) can override this.


     The daemon's exit code will reflect how well things went:

     0           The daemon was asked to detach itself from the controlling terminal and this
                 appears to have been done successfully.

     1*          The daemon got a SIGTERM or SIGINT and shut itself down.

     2*          The daemon believed that it was no longer the uservd and so exited to clean up.

     3           uservd was started with incorrect arguments.

     4           A system call failure or other environmental problem occurred during startup.

     5*          There was a non-recoverable error after startup; the uservd had to exit.

     6           The daemon was asked to detach itself, but its detaching child died for some
                 unexpected reason.

                 An unexpected internal error, usually caused by a bug in uservd.  This can also
                 occur if an attempt to block signals using sigprocmask fails.

     Outcomes marked * are not possible if the daemon is asked to detach itself - these exit
     statuses will be reaped by init instead and so will not usually be logged anywhere.

     The daemon's per-request children will report the success or otherwise of its request in
     their exit status.  These are not usually be logged unless they indicate a serious problem.


     All of the environment variables passed to uservd will be inherited by services as part of
     the default environment.  (If the set-environment configuration directive is used, then
     other system configuration files can modify the environment.  Consult the specification.)


     userv(1) init(8)

     Ian Jackson, User service daemon and client specification.


     GNU userv is copyright Ian Jackson and other contributors.  See README or userv --copright
     for full authorship information.

     GNU userv is licensed under the terms of the GNU General Public Licence, version 3 or (at
     your option) any later version, and it comes with NO WARRANTY, not even the implied warranty
     for details.

     You should have received a copy of the GNU General Public License along with userv, if not,


     uservd was initially written in 1996 by Ian Jackson.  It became GNU uservd in 1999, and
     version 1.0 was released in 2000.