<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook V4.5//EN"
		"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">

<sect1 id="using-cygserver"><title>Cygserver</title>

<sect2 id="what-is-cygserver"><title>What is Cygserver?</title>

<para>
  Cygserver is a program which is designed to run as a background service.
  It provides Cygwin applications with services which require security
  arbitration or which need to persist while no other cygwin application
  is running.
</para>
<para>
  The implemented services so far are:
</para>
<itemizedlist mark="bullet">
  <listitem><para>XSI IPC Message Queues.</para></listitem>
  <listitem><para>XSI IPC Semaphores.</para></listitem>
  <listitem><para>XSI IPC Shared Memory.</para></listitem>
  <listitem><para>Allows non-privileged users to store obfuscated
  passwords in the registry to be used by <command>setuid</command> and
  <command>seteuid</command> calls to create user tokens with network
  credentials.  This service is used by <command><link
  linkend="passwd">passwd</link> -R</command>.  Using the stored
  passwords in <command>set(e)uid</command> does not require running
  Cygserver.  For details, see <xref linkend="ntsec-setuid-overview"></xref>.
  </para></listitem>
</itemizedlist>

</sect2>

<sect2 id="cygserver-command-line"><title>Cygserver command line options</title>

<para>
  Options to Cygserver take the normal UNIX-style `-X' or `--longoption' form.
  Nearly all options have a counterpart in the configuration file (see below)
  so setting them on the command line isn't really necessary.  Command line
  options override settings from the Cygserver configuration file.
</para>
<para>
  The one-character options are prepended by a single dash, the long variants
  are prepended with two dashes.  Arguments to options are marked in angle
  brackets below.  These are not part of the actual syntax but are used only to
  denote the arguments.  Note that all arguments are required.  Cygserver
  has no options with optional arguments.
</para>
<para>
  The recognized options are:
</para>

<itemizedlist spacing="compact">
<listitem>
  <screen>-f, --config-file &lt;file&gt;</screen>
  <para>  
    Use &lt;file&gt; as configuration file instead of the default configuration
    line.  The default configuration file is /etc/cygserver.conf. 
    The --help and --version options will print the default configuration
    pathname.
  </para>
  <para>
    This option has no counterpart in the configuration file, for obvious
   reasons.
  </para>
</listitem>
<listitem>
  <screen>-c, --cleanup-threads &lt;num&gt;</screen>
  <para>  
    Number of threads started to perform cleanup tasks.  Default is 2.
    Configuration file option:  kern.srv.cleanup_threads
  </para>
</listitem>
<listitem>
  <screen>-r, --request-threads &lt;num&gt;</screen>
  <para>  
    Number of threads started to serve application requests.  Default is 10.
    The -c and -r options can be used to play with Cygserver's performance
    under heavy load conditions or on slow machines.
    Configuration file option:  kern.srv.request_threads
  </para>
</listitem>
<listitem>
  <screen>-d, --debug</screen>
  <para>  
    Log debug messages to stderr.  These will clutter your stderr output with
    a lot of information, typically only useful to developers.
  </para>
</listitem>
<listitem>
  <screen>-e, --stderr</screen>
  <para>  
    Force logging to stderr.  This is the default if stderr is connected to
    a tty.  Otherwise, the default is logging to the system log.  By using
    the -e, -E, -y, -Y options (or the appropriate settings in the
    configuration file), you can explicitly set the logging output as you
    like, even to both, stderr and syslog.
    Configuration file option:  kern.log.stderr
  </para>
</listitem>
<listitem>
  <screen>-E, --no-stderr</screen>
  <para>  
    Don't log to stderr.  Configuration file option:  kern.log.stderr
  </para>
</listitem>
<listitem>
  <screen>-y, --syslog</screen>
  <para>  
    Force logging to the system log.  This is the default, if stderr is not
    connected to a tty, e. g. redirected to a file.
    Configuration file option:  kern.log.syslog
  </para>
</listitem>
<listitem>
  <screen>-Y, --no-syslog</screen>
  <para>  
    Don't log to syslog.  Configuration file option:  kern.log.syslog
  </para>
</listitem>
<listitem>
  <screen>-l, --log-level &lt;level&gt;</screen>
   <para> 
    Set the verbosity level of the logging output.  Valid values are between
    1 and 7.  The default level is 6, which is relatively chatty.  If you set
    it to 1, you will get only messages which are printed under severe conditions,
    which will result in stopping Cygserver itself.
    Configuration file option:  kern.log.level
  </para>
</listitem>
<listitem>
  <screen>-m, --no-sharedmem</screen>
  <para>  
    Don't start XSI IPC Shared Memory support.  If you don't need XSI IPC
    Shared Memory support, you can switch it off here.
    Configuration file option:  kern.srv.sharedmem
  </para>
</listitem>
<listitem>
  <screen>-q, --no-msgqueues</screen>
  <para>  
    Don't start XSI IPC Message Queues. 
    Configuration file option:  kern.srv.msgqueues
  </para>
</listitem>
<listitem>
  <screen>-s, --no-semaphores</screen>
  <para>  
    Don't start XSI IPC Semaphores.
    Configuration file option:  kern.srv.semaphores
  </para>
</listitem>
<listitem>
  <screen>-S, --shutdown</screen>
  <para>  
    Shutdown a running daemon and exit.  Other methods are sending a SIGHUP
    to the Cygserver PID or, if running as service, calling `net stop
    cygserver' or `cygrunsrv -E cygserver'.
  </para>
</listitem>
<listitem>
  <screen>-h, --help</screen>
  <para>  
    Output usage information and exit.
  </para>
</listitem>
<listitem>
  <screen>-V, --version</screen>
  <para>  
    Output version information and exit.
  </para>
</listitem>
</itemizedlist>

</sect2>

<sect2 id="install-cygserver"><title>How to install Cygserver</title>

<para>
  Cygserver is part of the base <emphasis role='bold'>cygwin</emphasis> package.
  Therefore, whenever Cygwin is installed, so is Cygserver.
</para>
<para>
  You may want to install Cygserver as a service. See
  <xref linkend="start-cygserver"></xref>.
</para>

</sect2>

<sect2 id="start-cygserver"><title>How to start Cygserver</title>

<para>
  Before you run Cygserver for the first time, you should run the
  /usr/bin/cygserver-config script once.  It creates the default
  configuration file and, upon request, installs Cygserver as service.
  The script only performs a default install, with no further options
  given to Cygserver when running as service.  Due to the wide
  configurability by changing the configuration file, that's typically
  not necessary.
</para>
<para>
  You should always run Cygserver as a service under LocalSystem account. 
  This is the way it is installed for you by the /usr/bin/cygserver-config
  script.
</para>

</sect2>

<sect2 id="cygserver-config"><title>The Cygserver configuration file</title>

<para>
  Cygserver has many options, which allow you to customize the server
  to your needs.  Customization is accomplished by editing the configuration
  file, which is by default /etc/cygserver.conf.  This file is only read
  once, at startup of Cygserver.  There's no option to re-read the file at
  runtime by, say, sending a signal to Cygserver.
</para>
<para>
  The configuration file determines how Cygserver operates.  There are
  options which set the number of threads running in parallel, options
  for setting how and what to log and options to set various maximum
  values for the IPC services.
</para>
<para>
  The default configuration file delivered with Cygserver is installed
  to /etc/defaults/etc.  The /usr/bin/cygserver-config script copies it to
  /etc, giving you the option to overwrite an already existing file or to
  leave it alone.  Therefore, the /etc file is safe to be changed by you,
  since it will not be overwritten by a later update installation.
</para>
<para>
  The default configuration file contains many comments which describe
  everything needed to understand the settings.  A comment at the start of the
  file describes the syntax rules for the file.  The default options are shown
  in the file but are commented out.
</para>
<para>
  It is generally a good idea to uncomment only options which you intend to
  change from the default values.  Since reading the options file on Cygserver
  startup doesn't take much time, it's also considered good practice to keep
  all other comments in the file.  This keeps you from searching for clues
  in other sources.
</para>

</sect2>

</sect1>
