conserver.cf(5)

NAME

   conserver.cf - console configuration file for conserver(8)

DESCRIPTION

   The  format  of  the  conserver.cf  file  is made up of named blocks of
   keyword/value pairs, comments, and optional whitespace  for  formatting
   flexibility.   The  block types as well as the keywords are pre-defined
   and explained in the BLOCKS section.  A comment is an  unquoted  pound-
   sign  to  a  newline.   See  the  PARSER  section  for  full details on
   whitespace and quoting.

   Let me first show you a sample block with  a  couple  of  keyword/value
   pairs to make the description a bit simpler to understand.

          console simple { master localhost; type exec; rw *; }

   This  is  actually  a  fully  functional  conserver.cf file (if certain
   conditions are met...and if you can  list  those  conditions,  you  can
   probably can skip to the BLOCKS section).

   Our  example  is  made  of  up of a console-block named ``simple'' with
   three keyword/value pairs.  What this does is define  a  console  named
   ``simple'',  makes  the  master of that console the host ``localhost'',
   makes the type an exec-style console, and gives every  user  read/write
   permission.  This is the generic format of the file:

          block-type block-name { keyword value; ... }

   To  show  the  addition of comments and whitespace, here is the example
   reformatted (but functionally equivalent):

          # define a console named "simple"
          console simple {
              # setting all required values...
              master localhost;
              type exec;  # exec-style console
              rw *;       # allow any username
          }

PARSER

   The parser has six characters that it considers  special.   These  are:
   ``{'',  ``}'', ``;'', ``#'', ``\'', and ``"''.  The first three (hereby
   called tokens) define the format of the configuration  blocks  and  are
   used  as  word  separators,  the next is the comment character, and the
   last two are quoting characters.

   Word separation occurs when the parser  encounters  an  unquoted  token
   and,  in  certain cases, whitespace.  Whitespace is only used as a word
   separator when the parser is looking for a block-type or keyword.  When
   it's  looking  for  a block-name or value, whitespace is like any other
   character, which allows you to embed  whitespace  in  a  block-name  or
   value without having to quote it.  Here is an example:

          default my defs { rw *; include other defs  ; }

   The  block-type  is ``default'', the block-name is ``my defs'', and the
   value for the keyword ``include'' is ``other defs''.  Whitespace around
   tokens  are  ignored  so you get ``other defs'' instead of ``other defs
   '' as the value.

   The only way to use one of the special characters as part of  a  block-
   name or value is to quote it.

   Quoting is a simple matter of prefixing a character with a backslash or
   surrounding a group of characters with double-quotes.  If  a  character
   is  prefixed by a backslash, the next character is a literal (so ``\\''
   produces a ``\'', ``\"''  produces  ``"'',  ``\{''  produces  a  ``{'',
   etc.).   For  double-quoted  strings, all characters are literal except
   for ``\"'', which embeds a double-quote.

   Adding a variety of quotes to our example without changing the  meaning
   of things, we have:

          "defa"ult my\ defs { rw *; in\clude "other defs"  ; }

   There  is  one  special  line  the  parser  recognizes:  a ``#include''
   statement.  It is of the form:

          #include filename

   Any whitespace around filename  is  ignored,  but  whitespace  embedded
   inside  is  preserved.   Everything  in filename is taken literally, so
   none of the normal parser quoting applies.  The #include must begin  in
   ``column 0'' - no whitespace is allowed between it and the start of the
   physical line.  There is an include file depth limit of 10  to  prevent
   infinite recursion.

BLOCKS

   access hostname|ipaddr
          Define  an access block for the host named hostname or using the
          address ipaddr.  If the value of ``*'' is used, the access block
          will  be  applied to all conserver hosts.  Access lists are used
          in a first match fashion (top down), so order is important.

          admin [!]username[,...]|""
                 Define a list of users making up the admin list  for  the
                 console server.  If username matches a previously defined
                 group name, all members of the previous group are applied
                 to  the admin list (with access reversed if prefixed with
                 a `!').  If username doesn't match a  previously  defined
                 group  and  username begins with `@', the name (minus the
                 `@') is checked against the host's group  database.   All
                 users  found  in the group will be granted (or denied, if
                 prefixed with `!') access.  If username doesn't  match  a
                 previous group and doesn't begin with `@', the users will
                 be granted (or denied, if prefixed with `!') access.   If
                 the  null  string  (``""'') is used, any users previously
                 defined for the console servers's admin list are removed.

          allowed hostname[,...]
                 The list of hostnames are added to the ``allowed''  list,
                 which  grants  connections  from  the  hosts but requires
                 username authentication.

          include accessgroup
                 The access lists defined using the name  accessgroup  are
                 applied to the current access block.  The included access
                 block must be previously defined.

          limited [!]username[,...]|""
                 Define a list of users with limited functionality on  the
                 console  server.   These  users  will  not  be allowed to
                 suspend their connection, shift to  another  console,  or
                 attach  to  a  local  command.   If  username  matches  a
                 previously  defined  group  name,  all  members  of   the
                 previous group are applied to the admin list (with access
                 reversed if prefixed with a `!').   If  username  doesn't
                 match a previously defined group and username begins with
                 `@', the name (minus the  `@')  is  checked  against  the
                 host's group database.  All users found in the group will
                 be granted (or denied, if prefixed with `!') access.   If
                 username doesn't match a previous group and doesn't begin
                 with `@', the  users  will  be  granted  (or  denied,  if
                 prefixed  with  `!') access.  If the null string (``""'')
                 is used, any users previously  defined  for  the  console
                 server's limited list are removed.

          rejected hostname[,...]
                 The list of hostnames are added to the ``rejected'' list,
                 which rejects connections from the hosts.

          trusted hostname[,...]
                 The list of hostnames are added to the ``trusted''  list,
                 which  grants connections from the hosts without username
                 authentication.

   break n
          Define a break sequence where (1 <= n <= 9) or (a <=  n  <=  z).
          Break  sequences  are  accessed  via the ``^Ecln'' client escape
          sequence.

          confirm yes|true|on|no|false|off
                 Set whether or not to ask  the  client  for  confirmation
                 before  sending  the  break  sequence.   The  default  is
                 ``no''.

          delay n
                 Set the time delay for the \d sequence to n milliseconds.
                 The default time delay is 250ms.

          string breakseq
                 Assign  the  string  breakseq to the specified slot n.  A
                 break sequence is a  simple  character  string  with  the
                 exception of `\' and `^':

                        
    alert
                        	    backspace
                        \d    delay specified by the delay option.
                        \f    form-feed
                        \n    newline
                        \r    carriage-return
                        \t    tab
                        \v    vertical-tab
                        \z    serial break
                        \\    backslash
                        \^    circumflex
                        \ooo  octal  representation  of a character (where
                              ooo is one to three octal digits)
                        \c    character c
                        ^?    delete
                        ^c    control character (c is ``and''ed with 0x1f)

   config hostname|ipaddr
          Define a configuration block for  the  host  named  hostname  or
          using  the  address  ipaddr.  If the value of ``*'' is used, the
          configuration block will be applied to all conserver hosts.

          autocomplete yes|true|on|no|false|off
                 Turn the console name autocompletion feature on  or  off.
                 If  autocompletion  is  on,  a  client can use any unique
                 leading portion of a console name when  connecting  to  a
                 console.  Autocompletion is on by default.

          defaultaccess rejected|trusted|allowed
                 Set  the  default  access  permission  for  all hosts not
                 matched by an access list (see the -a command-line flag).

          daemonmode yes|true|on|no|false|off
                 Set whether or not to become a daemon when run  (see  the
                 -d command-line flag).

          initdelay number
                 Set    the    number    of    seconds   between   console
                 initializations.  All consoles with the same  host  value
                 will  be throttled as a group (those without a host value
                 are their own  group).   In  other  words,  each  console
                 within  a  group  will  only  be initialized after number
                 seconds passes from  the  previous  initialization  of  a
                 console  in  that  group.   Different throttle groups are
                 initialized simultaneously.  One warning: since  consoles
                 are split up and managed by seperate conserver processes,
                 it's possible for more than one conserver process to have
                 a  throttle  group  based on a particular host value.  If
                 this happens, each conserver process will throttle  their
                 groups  independently  of  the other conserver processes,
                 which results in a more rapid  initialization  (per  host
                 value)  than  one  might  otherwise expect.  If number is
                 zero, all consoles are initialized without delay.

          logfile filename
                 Set the logfile to write to when in daemon mode (see  the
                 -L command-line flag).

          passwdfile filename
                 Set  the  password  file location used for authentication
                 (see the -P command-line flag).

          primaryport number|name
                 Set the port used by the master  conserver  process  (see
                 the -p command-line flag).

          redirect yes|true|on|no|false|off
                 Turn  redirection  on  or  off  (see  the -R command-line
                 flag).

          reinitcheck number
                 Set the number of minutes used  between  reinitialization
                 checks (see the -O command-line flag).

          secondaryport number|name
                 Set the base port number used by child processes (see the
                 -b command-line flag).

          setproctitle yes|true|on|no|false|off
                 Set whether or not the process title  shows  master/group
                 functionality  as  well as the port number the process is
                 listening on and how many consoles it is  managing.   The
                 operating system must support the setproctitle() call.

          sslcredentials filename
                 Set  the  SSL  credentials  file  location  (see  the  -c
                 command-line flag).

          sslcacertificatefile filename
                 Load the valid CA certificates  for  the  SSL  connection
                 from  the  PEM  encoded  file.  This option overrides the
                 global CA list.

          sslreqclientcert yes|true|on|no|false|off
                 Set whether or not  a  certificate  is  required  by  the
                 client to connect.  The default is ``no''.

          sslrequired yes|true|on|no|false|off
                 Set whether or not encryption is required when talking to
                 clients (see the -E command-line flag).

          unifiedlog filename
                 Set the location of the unified log to filename.  See the
                 -U command-line flag for details.

   console name
          Define  a console identified as name.  The keywords are the same
          as the default block with the following addition.

          aliases name[,...]|""
                 Define a list of console aliases.   If  the  null  string
                 (``""'')  is used, any aliases previously defined for the
                 console are removed.

   default name
          Define a block of defaults  identified  as  name.   If  name  is
          ``*'',  the  automatically  applied  default  block  is  defined
          (basically all consoles have an implicit ``include "*";'' at the
          beginning of their definition).

          baud 300|600|1800|2400|4800|9600|19200|38400|57600|115200
                 Assign  the  baud  rate to the console.  Only consoles of
                 type ``device'' will use this value.

          break n
                 Assign the break  sequence  n  as  the  default  for  the
                 console,  which  is  used  by the ``^Ecl0'' client escape
                 sequence.

          breaklist n[,...]|""
                 Associate a list of break sequences referenced by n  with
                 the console.  If ``*'' is used (the default), all defined
                 break sequences will be available.  If  the  null  string
                 (``""'') is used, no sequences will be available.

          device filename
                 Assign  the  serial  device  filename  as the path to the
                 console.  Only consoles of type ``device'' will use  this
                 value.

          devicesubst c=t[n]f[,...]|""
                 Perform  character  substitutions on the device value.  A
                 series of replacements can be  defined  by  specifying  a
                 comma-separated  list of c=t[n]f sequences where c is any
                 printable character, t specifies the replacement value, n
                 is a field length (optional), and f is the format string.
                 t can be one of the characters below,  catagorized  as  a
                 string   replacement  or  a  numeric  replacement,  which
                 dictates the use of the n and f fields.

                        String Replacement
                        c      console name
                        h      host value
                        r      replstring value

                        Numeric Replacement
                        p      config port value
                        P      calculated port value

                 For string replacements,  if  the  replacement  isn't  at
                 least   n  characters,  it  will  be  padded  with  space
                 characters on the left.  f  must  be  `s'.   For  numeric
                 replacements,  the  value will be formatted to at least n
                 characters, padded with 0s if n  begins  with  a  0,  and
                 space  characters  otherwise.  f must be either `d', `x',
                 `X',  `a',  or  `A',  specifying  a  decimal,   lowercase
                 hexadecimal  (0-9a-f),  uppercase  hexadecimal  (0-9A-F),
                 lowercase    alphanumeric    (0-9a-z),    or    uppercase
                 alphanumeric  (0-9A-Z)  conversion.   If  the null string
                 (``""'') is used, no replacements will be done.

          exec command|""
                 Assign the string command as the command  to  access  the
                 console.   Conserver  will  run  the  command by invoking
                 ``/bin/sh -ce "command"''.  If the null  string  (``""'')
                 is  used  or no exec keyword is specified, conserver will
                 use the command ``/bin/sh -i''.  Only  consoles  of  type
                 ``exec'' will use this value.

          execrunas [user][:group]|""
                 By  default,  the command invoked by exec is run with the
                 same privileges as the server.  If the server is  running
                 with  root privileges, this option resets the user and/or
                 group  of  the  invoked  process  to   user   and   group
                 respectively.   user may be a username or numeric uid and
                 group may be a group name or numeric gid.  Either one  is
                 optional.   If  the  server  is  not  running  with  root
                 privileges, these values  are  not  used.   If  the  null
                 string (``""'') is specified, the default of running with
                 the same privileges as the server is restored.

          execsubst c=t[n]f[,...]|""
                 Perform character substitutions on the exec  value.   See
                 the  devicesubst  option for an explanation of the format
                 string.   If  the  null  string  (``""'')  is  used,   no
                 replacements will be done.

          host hostname
                 Assign  hostname  as the host to connect to for accessing
                 the console.  You must  also  set  the  port  option  for
                 consoles  of  type  ``host''.  Normally, only consoles of
                 type ``host'' and ``ipmi'' will use this  value,  however
                 if  the devicesubst, execsubst, or initsubst keywords are
                 used in any console type, this value is used.

          idlestring string|""
                 Assign the string that is sent to the  console  once  the
                 console  is  idle  for an idletimeout amount of time.  If
                 the null string (``""'') is used, the string is unset and
                 the default is used.  The string is interpreted just as a
                 break string is interpreted (see the break  configuration
                 items  for  details)  where  all  delays  specified  (via
                 ``\d'') use the default delay time.  The  default  string
                 is ``\n''.

          idletimeout number[s|m|h]
                 Set  the  idle  timeout of the console to number seconds.
                 If an  `s',  `m',  or  `h'  is  used  after  number,  the
                 specified  time  is  interpreted  as seconds, minutes, or
                 hours.  Set the timeout  to  zero  to  disable  the  idle
                 timeout (the default).

          ipmiciphersuite number
                 Set  the  IPMI  cipher suite.  Syntactically valid values
                 are -1 (the default) and  greater.   Check  the  FreeIPMI
                 documentation for usable values.

          ipmikg string|""
                 Set  the  BMC  authentication  key  K_g to string.  A K_g
                 value is a simple character string with the exception  of
                 `\':

                        \\    backslash
                        \ooo  octal  representation  of a character (where
                              ooo is one to three octal digits)
                        \c    character c

                 The resulting value must be no more than  20  characters.
                 The null string (``""'') is the default.

          impiworkaround [!]option[,...]|""
                 You  can  turn  off  a  workaround by prefixing it with a
                 ``!''   character.   So,  to  turn  off   the   integrity
                 workaround,  you would use !integrity.  The following are
                 valid options and their mapping to FreeIPMI settings:

                 activation-status    SKIP_SOL_ACTIVATION_STATUS
                 auth-capabilites     AUTHENTICATION_CAPABILITIES
                 channel-payload      SKIP_CHANNEL_PAYLOAD_SUPPORT
                 checksum             NO_CHECKSUM_CHECK
                 default              DEFAULT
                 ignore-payload-size  IGNORE_SOL_PAYLOAD_SIZE
                 ignore-port          IGNORE_SOL_PORT
                 integrity            NON_EMPTY_INTEGRITY_CHECK_VALUE
                 intel-session        INTEL_2_0_SESSION
                 packet-sequence      INCREMENT_SOL_PACKET_SEQUENCE
                 privilege            OPEN_SESSION_PRIVILEGE
                 serial-alerts        SERIAL_ALERTS_DEFERRED
                 sun-session          SUN_2_0_SESSION
                 supermicro-session   SUPERMICRO_2_0_SESSION

                 If  no  ipmiworkaround  is  specified,  the   ``default''
                 workaround will be used.  The null string (``""'') unsets
                 all workarounds, including ``default''.  See the FreeIPMI
                 documentation for details on what workarounds affect.

          ipmiprivlevel user|operator|admin
                 Set the privilege level for the username used during IPMI
                 authentication.    The   default   privilege   level   is
                 ``admin''.

          include default
                 The  default  block  defined  using  the  name default is
                 applied to the current console  or  default  block.   The
                 included default block must be previously defined.

          initcmd command|""
                 Invoke  command  as  soon  as  the console is brought up,
                 redirecting the console to stdin, stdout, and  stderr  of
                 command.   The  command  is  passed  as  an  argument  to
                 ``/bin/sh -ce''.  If the null string  (``""'')  is  used,
                 the command is unset and nothing is invoked.

          initrunas [user][:group]|""
                 By  default,  the  command invoked by initcmd is run with
                 the same privileges as the  server.   If  the  server  is
                 running with root privileges, this option resets the user
                 and/or group of the invoked process  to  user  and  group
                 respectively.   user may be a username or numeric uid and
                 group may be a group name or numeric gid.  Either one  is
                 optional.   If  the  server  is  not  running  with  root
                 privileges, these values  are  not  used.   If  the  null
                 string (``""'') is specified, the default of running with
                 the same privileges as the server is restored.

          initspinmax n|""
                 Set the maximum  number  of  ``spins''  allowed  for  the
                 console  to  n,  where  0  <=  n  <=  254.   A console is
                 determined to be ``spinning'' if an attempt to initialize
                 the  console  occurs  in under initspintimer seconds from
                 its previous initialization and this quick initialization
                 occurs initspinmax times in a row.  If, at any point, the
                 time   between   initializations    is    greater    than
                 initspintimer,   the  counter  for  reaching  initspinmax
                 resets to zero.  When  a  console  is  determined  to  be
                 ``spinning''  it  is  forced  down.   If  the null string
                 (``""'') is specified, the default of 5 is used.

          initspintimer t|""
                 Set the number of seconds a console must be ``up'' to not
                 be  considered  ``spinning''  to  t, where 0 <= t <= 254.
                 See  initspinmax  for  a  full  description  of   console
                 ``spinning.''   If the null string (``""'') is specified,
                 the default of 1 is used.

          initsubst c=t[n]f[,...]|""
                 Perform character substitutions  on  the  initcmd  value.
                 See  the  devicesubst  option  for  an explanation of the
                 format string.  If the null string (``""'') is  used,  no
                 replacements will be done.

          logfile filename|""
                 Assign  the logfile specified by filename to the console.
                 Any occurrence of ``&'' in filename will be replaced with
                 the  name of the console.  If the null string (``""'') is
                 used, the logfile name  is  unset  and  no  logging  will
                 occur.

          logfilemax number[k|m]
                 Enable  automatic  rotation  of  logfile  once  its  size
                 exceeds number bytes.  Specifying k or m interpret number
                 as kilobytes and megabytes.  number must be at least 2048
                 bytes.  A value of zero will turn off automatic  rotation
                 of   logfile.   The  logfile  filename  will  be  renamed
                 filename-YYYYMMDD-HHMMSS,  where  the  extension  is  the
                 current  GMT  year,  month, day, hour, minute, and second
                 (to prevent issues with clock rollbacks).  File sizes are
                 checked  every  5  minutes  with  an  additional  initial
                 pseudo-random delay of up to one minute (to help  prevent
                 all  processes  checking  all  consoles  simultaneously).
                 2.5% (minimum 100 bytes, maximum 4000 bytes) of  the  old
                 logfile  is read from the end of the file.  All data past
                 the first newline  is  moved  (not  copied)  to  the  new
                 logfile  so that a replay of the console works and starts
                 on a line boundary.

          master hostname|ipaddr
                 Define which conserver host  manages  the  console.   The
                 host  may  be  specified by hostname or using the address
                 ipaddr.

          motd message|""
                 Set the "message of the day" for the console to  message,
                 which  gets  displayed  when  a  client  attaches  to the
                 console.  If the null string (``""'') is used,  the  MOTD
                 is unset and no message will occur.

          options [!]option[,...]|""
                 You  can  negate  the option by prefixing it with a ``!''
                 character.  So, to turn off the hupcl flag, you would use
                 !hupcl.  The following are valid options:

                 ixon        Enable XON/XOFF flow control on output.  Only
                             consoles of type ``device'' or ``exec''  will
                             use this value.  Default is ixon.
                 ixany       Enable any character to restart output.  Only
                             consoles of type ``device'' or ``exec''  will
                             use this value.  Default is !ixany.
                 ixoff       Enable  XON/XOFF flow control on input.  Only
                             consoles of type ``device'' or ``exec''  will
                             use   this   value.   Default  is  ixoff  for
                             consoles of type ``device''  and  !ixoff  for
                             consoles of type ``exec''.
                 crtscts     Enable RTS/CTS (hardware) flow control.  Only
                             consoles of type  ``device''  will  use  this
                             value.  Default is !crtscts.
                 cstopb      Set  two  stop  bits,  rather than one.  Only
                             consoles of type  ``device''  will  use  this
                             value.  Default is !cstopb.
                 hupcl       Lower  modem control lines after last process
                             closes the device (hang up).   Only  consoles
                             of  type  ``device''  will  use  this  value.
                             Default is !hupcl.
                 ondemand    Initialize the console when a client requests
                             a connection to the console.  When no clients
                             are connected, bring the console  down.   The
                             conserver  option  -i  will set this flag for
                             all consoles.  Default is !ondemand.
                 striphigh   Strip the high bit off all data  coming  from
                             this  console  and  all  clients connected to
                             this console before processing  occurs.   The
                             conserver  option  -7  will set this flag for
                             all consoles.  Default is !striphigh.
                 reinitoncc  Automatically reinitialize (``bring  up'')  a
                             downed   console   when  a  client  connects.
                             Without  this  option,  a  client   will   be
                             attached  to the downed console and will need
                             to manually reinitialize the console with  an
                             escape  sequence.   The  conserver  option -o
                             will set this flag for all consoles.  Default
                             is !reinitoncc.
                 autoreinit  Allow   this   console  to  be  automatically
                             reinitialized if it unexpectedly  goes  down.
                             If  the  console  doesn't come back up, it is
                             retried every  minute.   A  console  of  type
                             ``exec''  that  exits with a zero exit status
                             is automatically reinitialized regardless  of
                             this  setting.   The conserver option -F will
                             unset this flag for all consoles.  Default is
                             autoreinit.
                 unloved     Enable  the  sending of this console's output
                             (prefixed with  its  name)  to  the  daemon's
                             stdout  (or  the  logfile  if in daemon mode)
                             when no clients are connected to the console.
                             The  conserver  option  -u will set this flag
                             for all consoles.  Default is !unloved.
                 login       Allow users to log  into  this  console.   If
                             logins are not allowed, conserver will send a
                             generic message to the client saying  so  and
                             terminate  the  connection.  You can override
                             the  generic  message  by  setting  the  motd
                             message.  Default is login.

          parity even|mark|none|odd|space
                 Set  the parity option for the console.  Only consoles of
                 type ``device'' will use this value.

          password password|""
                 Use password during IPMI  authentication.   If  the  null
                 string  (``""'')  is used (the default), no password will
                 be used.

          port number|name
                 Set the port used to access the console.  The port may be
                 specified  as  a  number  or a name.  A name will cause a
                 getservbyname(3) call to look up the  port  number.   The
                 port,  portbase,  and  portinc  values  are  all  used to
                 calculate the final  port  number  to  connect  to.   The
                 formula  used  is  finalport = portbase + portinc * port.
                 By using proper values in the formula, you can  reference
                 ports on a terminal server by their physical numbering of
                 0..n or 1..n (depending on if you like zero-based or one-
                 based  numbering).   Warning: you can generate a -1 value
                 with this formula, which will become a very high numbered
                 positive  value  (since things are stored unsigned).  You
                 must also set the host option as  well.   Normally,  only
                 consoles of type ``host'' will use this value, however if
                 the devicesubst, execsubst,  or  initsubst  keywords  are
                 used in any console type, this value is used.

          portbase number
                 Set  the  base  value  for  the port calculation formula.
                 number must be 0 or greater.  The default is  zero.   See
                 port for the details of the formula.

          portinc number
                 Set the increment value for the port calculation formula.
                 number must be 0 or greater.  The default  is  one.   See
                 port for the details of the formula.

          protocol telnet|raw
                 Set  the  protocol used to send and receive data from the
                 console.  If raw is used, all data  is  sent  ``as  is'',
                 unprotected  by any protocol specification.  If telnet is
                 used (which is the default), data is encapsulated in  the
                 telnet  protocol.   The  striphigh  console  option still
                 applies when data is read by the server, and if  enabled,
                 can impact the encapsulation process.

          replstring string
                 A  generic  replacement  string  that  can be used by the
                 devicesubst, execsubst, and initsubst keywords.

          ro [!]username[,...]|""
                 Define a list of users making  up  the  read-only  access
                 list  for  the console.  If username matches a previously
                 defined group name, all members of the previous group are
                 applied   to  the  read-only  access  list  (with  access
                 reversed if prefixed with a `!').   If  username  doesn't
                 match a previously defined group and username begins with
                 `@', the name (minus the  `@')  is  checked  against  the
                 host's group database.  All users found in the group will
                 be granted (or denied, if prefixed  with  `!')  read-only
                 access.   If  username doesn't match a previous group and
                 doesn't begin with `@', the users  will  be  granted  (or
                 denied,  if  prefixed with `!') read-only access.  If the
                 null  string  (``""'')  is  used,  any  users  previously
                 defined for the console's read-only list are removed.

          rw [!]username[,...]|""
                 Define  a  list  of users making up the read-write access
                 list for the console.  If username matches  a  previously
                 defined group name, all members of the previous group are
                 applied  to  the  read-write  access  list  (with  access
                 reversed  if  prefixed  with a `!').  If username doesn't
                 match a previously defined group and username begins with
                 `@',  the  name  (minus  the  `@') is checked against the
                 host's group database.  All users found in the group will
                 be  granted  (or denied, if prefixed with `!') read-write
                 access.  If username doesn't match a previous  group  and
                 doesn't  begin  with  `@',  the users will be granted (or
                 denied, if prefixed with `!') read-write access.  If  the
                 null  string  (``""'')  is  used,  any  users  previously
                 defined for the console's read-write list are removed.

          tasklist c[,...]|""
                 Associate a list  of  tasks  referenced  by  c  with  the
                 console.   If  ``*''  is  used (the default), all defined
                 tasks will be available.  If the null string (``""'')  is
                 used, no tasks will be available.

          timestamp [number[m|h|d|l]][a][b]|""
                 Specifies  the  time  between  timestamps  applied to the
                 console log file and whether to log read/write connection
                 actions.   The timestamps look like ``[-- MARK -- Mon Jan
                 25 14:46:56 1999]''.  The `m', `h', and `d' tags  specify
                 ``minutes''  (the default), ``hours'', and ``days''.  The
                 `l' tag specifies ``lines'' and will cause timestamps  of
                 the  form ``[Mon Jan 25 14:46:56 PST 1999]'' to be placed
                 every number lines (a newline character signifies  a  new
                 line).   So, ``5h'' specifies every five hours and ``2l''
                 specifies every two lines.  An `a' can  be  specified  to
                 add  logs  of  ``attached'', ``detached'', and ``bumped''
                 actions, including the user's  name  and  the  host  from
                 which  the  client  connection  was  made.   A `b' can be
                 specified to add logging of break sequences sent  to  the
                 console.

          type device|ipmi|exec|host|noop|uds
                 Set  the type of console.  A type of ``device'' should be
                 used for local serial ports (also set the device  value).
                 A  type  of  ``ipmi'' should be used for IPMI serial over
                 LAN consoles (also set the host value  and  possibly  the
                 username,   password,  and  ipmi*  values).   A  type  of
                 ``exec'' should be used for command invocations  (perhaps
                 also  set  the exec value).  A type of ``host'' should be
                 used for terminal  servers  and  other  TCP  socket-based
                 interaction  (also set the host and port values).  A type
                 of ``noop'' should be used as a  placeholder  -  it  does
                 nothing,   ignores  any  logfile  value  and  forces  the
                 !nologin option (so  you  might  want  to  set  the  motd
                 value).  A type of ``uds'' should be used for Unix domain
                 sockets (also set the uds option).

          uds filename
                 Assign the Unix domain socket filename as the path to the
                 console.   Only  consoles  of  type ``uds'' will use this
                 value.

          udssubst c=t[n]f[,...]|""
                 Perform character substitutions on the  uds  value.   See
                 the  devicesubst  option for an explanation of the format
                 string.   If  the  null  string  (``""'')  is  used,   no
                 replacements will be done.

          username username|""
                 Use  username  during  IPMI  authentication.  If the null
                 string (``""'') is used (the default), the ``null''  user
                 will be used.

   group name
          Define a user group identified as name.

          users [!]username[,...]|""
                 Define  a  list  of  users  making up the group name.  If
                 username matches a previously  defined  group  name,  all
                 members  of the previous group are applied to the current
                 group (with access reversed if prefixed with a `!').   If
                 username  doesn't  match  a  previously defined group and
                 username begins with `@', the name  (minus  the  `@')  is
                 checked  against  the  host's  group database.  All users
                 found in the group will be recorded with (or without,  if
                 prefixed  with  `!') access.  If username doesn't match a
                 previous group and doesn't begin with `@', the users will
                 be  recorded  with  (or  without,  if  prefixed with `!')
                 access.  If the null string (``""'') is used,  any  users
                 previously defined for this group are removed.

   task c
          Define  a  task  where  c  is a lowercase alphanumeric (0-9a-z).
          Tasks are invoked via the ``^Ec!c'' client escape sequence.

          cmd command|""
                 Invoke command on  the  server  when  instructed  by  the
                 client.   All  file  descriptors  are  closed, except for
                 stderr (which is inherited from the server).  The command
                 is  passed  as  an  argument  to ``/bin/sh -ce'' and is a
                 ``fire and forget'' methodology (you need to  check  logs
                 for  any  issues).   If the null string (``""'') is used,
                 the entire task definition is ignored.

          confirm yes|true|on|no|false|off
                 Set whether or not to ask  the  client  for  confirmation
                 before invoking the task.  The default is ``no''.

          description string
                 Set  a  description  for  the  task.  When a client lists
                 tasks, string will be  printed  instead  of  the  command
                 defined  above.  If the null string (``""'') is used, the
                 command defined above will be printed.

          runas [user][:group]|""
                 By default, the command invoked by cmd is  run  with  the
                 same  privileges as the server.  If the server is running
                 with root privileges, this option resets the user  and/or
                 group   of   the   invoked  process  to  user  and  group
                 respectively.  user may be a username or numeric uid  and
                 group  may be a group name or numeric gid.  Either one is
                 optional.   If  the  server  is  not  running  with  root
                 privileges,  these  values  are  not  used.   If the null
                 string (``""'') is specified, the default of running with
                 the same privileges as the server is restored.

          subst c=t[n]f[,...]|""
                 Perform  character  substitutions  on the cmd value.  See
                 the devicesubst option for an explanation of  the  format
                 string.    If  the  null  string  (``""'')  is  used,  no
                 replacements will be done.

AUTHORS

   Bryan Stansell, conserver.com

SEE ALSO

   console(1), conserver.passwd(5), conserver(8)



Opportunity


Personal Opportunity - Free software gives you access to billions of dollars of software at no cost. Use this software for your business, personal use or to develop a profitable skill. Access to source code provides access to a level of capabilities/information that companies protect though copyrights. Open source is a core component of the Internet and it is available to you. Leverage the billions of dollars in resources and capabilities to build a career, establish a business or change the world. The potential is endless for those who understand the opportunity.

Business Opportunity - Goldman Sachs, IBM and countless large corporations are leveraging open source to reduce costs, develop products and increase their bottom lines. Learn what these companies know about open source and how open source can give you the advantage.


Free Software


Free Software provides computer programs and capabilities at no cost but more importantly, it provides the freedom to run, edit, contribute to, and share the software. The importance of free software is a matter of access, not price. Software at no cost is a benefit but ownership rights to the software and source code is far more significant.

Free Office Software - The Libre Office suite provides top desktop productivity tools for free. This includes, a word processor, spreadsheet, presentation engine, drawing and flowcharting, database and math applications. Libre Office is available for Linux or Windows.


Free Books


The Free Books Library is a collection of thousands of the most popular public domain books in an online readable format. The collection includes great classical literature and more recent works where the U.S. copyright has expired. These books are yours to read and use without restrictions.

Source Code - Want to change a program or know how it works? Open Source provides the source code for its programs so that anyone can use, modify or learn how to write those programs themselves. Visit the GNU source code repositories to download the source.


Education


Study at Harvard, Stanford or MIT - Open edX provides free online courses from Harvard, MIT, Columbia, UC Berkeley and other top Universities. Hundreds of courses for almost all major subjects and course levels. Open edx also offers some paid courses and selected certifications.

Linux Manual Pages - A man or manual page is a form of software documentation found on Linux/Unix operating systems. Topics covered include computer programs (including library and system calls), formal standards and conventions, and even abstract concepts.