The conman.conf configuration file is used to specify the consoles
being managed by conmand.
Comments are introduced by a hash sign (#), and continue until the end of
the line. Blank lines and white-space are ignored. Directives are
terminated by a newline, but may span multiple lines by escaping it (ie,
immediately preceding the newline with a backslash). Strings may be either
single-quoted or double-quoted, but they may not contain newlines.
Keywords are case-insensitive.
SERVER DIRECTIVES
These directives begin with the SERVER keyword followed by one of the
following key/value pairs:
keepalive= (on|off)
Specifies whether the daemon will use TCP keep-alives for detecting dead
connections. The default is on.
logdir= "directory"
Specifies a directory prefix for log files that are not defined via an
absolute pathname.
logfile= "file[,priority]"
Specifies the file to which log messages are appended. This string undergoes
conversion specifier expansion (cf, CONVERSION SPECIFICATIONS).
If an absolute pathname is not specified, the file's location is relative
to logdir (assuming it has been previously defined). This file will
be created if it does not already exist. The filename may optionally be
followed by a comma and a minimum priority at which messages will be logged.
Refer to syslog.conf(5) for a list of priorities. The default priority
is info. If this keyword is used in conjunction with the syslog
keyword, messages will be sent to both locations.
loopback= (on|off)
Specifies whether the daemon will bind its socket to the loopback address,
thereby only accepting local client connections directed to that address
(127.0.0.1). The default is off.
pidfile= "file"
Specifies the file to which the daemon's PID is written.
The use of a pidfile is recommended if you want to use the
daemon's '-k', '-q', or '-r' options.
port=integer
Specifies the port on which the daemon will listen for client connections.
resetcmd= "string"
Specifies a command string to be invoked by a subshell upon receipt
of the client's "reset" escape. Multiple commands within a string
may be separated with semicolons. This string undergoes conversion
specifier expansion (cf, CONVERSION SPECIFICATIONS) and will be
invoked multiple times if the client is connected to multiple consoles.
syslog= "facility"
Specifies that log messages are to be sent to the system logger
(syslogd) at the given facility. Refer to syslog.conf(5) for a
list of facilities. If this keyword is used in conjunction with the
logfile keyword, messages will be sent to both locations.
tcpwrappers= (on|off)
Specifies whether the daemon will use TCP-Wrappers when accepting client
connections. Support for this feature must be enabled at compile-time (via
configure's "--with-tcp-wrappers" option). Refer to hosts_access(5)
and hosts_options(5) for more details. The default is off.
timestamp=integer (m|h|d)
Specifies the interval between timestamps written to the individual console
log files. The interval is an integer that may be followed by a
single-character modifier; 'm' for minutes (the default), 'h'
for hours, or 'd' for days. The default is 0 (ie, no timestamps).
GLOBAL DIRECTIVES
These directives begin with the GLOBAL keyword followed by one of the
following key/value pairs:
log= "file"
Specifies the default log file to use for each console directive.
This string undergoes conversion specifier expansion (cf, CONVERSION
SPECIFICATIONS) and must contain either '%N' or '%D'.
If an absolute pathname is not given, the file's location is relative to
logdir (assuming it has been previously defined).
Specifies global options for the console log files. These options can be
overridden on an per-console basis by specifying the CONSOLElogopts keyword. Note that options affecting the output of the console's
logfile also affect the output of the console's log-replay escape. The valid
logoptions include the following:
sanitize or nosanitize - sanitized log files convert non-printable
characters into 7-bit printable characters.
timestamp or notimestamp - timestamped logs prepend each line
of console output with a timestamp in "YYYY-MM-DD HH:MM:SS" format. This
timestamp is generated when the first character following the line break is
output.
The default is "nosanitize,notimestamp".
seropts= "bps[,databits[parity[stopbits]]]"
Specifies global options for local serial devices. These options can be
overridden on an per-console basis by specifying the CONSOLEseropts keyword.
bps is an integer specifying the baud rate in bits-per-second. If
this exact value is not supported by the system, it will be rounded down to
the next supported value.
databits is an integer from 5-8.
parity is a single case-insensitive character: 'n'
for none, 'o' for odd, and 'e' for even.
stopbits is an integer from 1-2.
The default is "9600,8n1" for 9600 bps, 8 data bits, no parity, and 1 stop bit.
CONSOLE DIRECTIVES
This directive defines an individual console being managed by the daemon.
The CONSOLE keyword is followed by one or more of the following
key/value pairs:
name= "string"
Specifies the name used by clients to refer to the console. This keyword
is required.
dev= "string"
Specifies the location of the device. A local serial-port connection is
specified with the pathname of the tty device. A remote terminal-server
connection is specified with the "host:port" format (where
host is either a hostname or IP address). This keyword is required.
log= "file"
Specifies the file where console output is logged. This string undergoes
conversion specifier expansion (cf, CONVERSION SPECIFICATIONS).
If an absolute pathname is not given, the file's location is relative to
logdir (assuming it has been previously defined). An empty log string
(ie, log="") disables logging, overriding the global log name.
logopts= "string"
This keyword is optional (cf, GLOBAL DIRECTIVES).
seropts= "string"
This keyword is optional (cf, GLOBAL DIRECTIVES).
CONVERSION SPECIFICATIONS
A conversion specifier is a two-character sequence beginning with
a '%' character. The second character in the sequence specifies the
type of conversion to be applied. The following specifiers are supported:
%N
The console name (from the name string).
%D
The console device basename (from the dev string),
with leading directory components removed.
%P
The daemon's process identifier.
%Y
The year as a 4-digit number with the century.
%y
The year as a 2-digit number without the century.
%m
The month as a 2-digit number (01-12).
%d
The day of the month as a 2-digit number (01-31).
%H
The hour as a 2-digit number using a 24-hour clock (00-23).
%M
The minute as a 2-digit number (00-59).
%S
The seconds as a 2-digit number (00-61).
%s
The number of seconds since the Epoch.
%%
A literal '%' character.
The console name (%N) and device (%D) specifiers are "sanitized"
in that non-printable characters and the forward-slash (/) character are
replaced with underscores.
Copyright (C) 2001-2006 by the Regents of the University of California.
Produced at Lawrence Livermore National Laboratory. UCRL-CODE-2002-009.
ConMan is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation.