.\" 
.TH mcsysinfod 1 "15 March 2003"
.ds ]W www.MagniComp.com
.SH NAME
mcsysinfod \- MagniComp(TM) SysInfo(TM) Service Protocol (SSP) server
.SH SYNOPSIS
mcsysinfod
[
.B -c|--configfile
.I cfFile
]
[
.B -d|--debug
]
[
.B -f|--fg
]
[
.B -L|--logfac
.I facility
]
[
.B -p|--port
.I num
]
[
.B -s|--sysinfo
.I path
]
[
.B -t|--timeout
.I seconds
]
.br
.sp
mcsysinfod -V|--version
.SH DESCRIPTION
.B mcsysinfod(8)
is a server process which provides
.B "SysInfo(TM) Service Protocol (SSP)"
service.
SSP is a TCP stream protocol which allows a client to retrieve
.B MagniComp(TM)
.B SysInfo(TM)
data from a remote system running
.B mcsysinfod(8).
The data is provided in
.I mcsysinforeport(5)
format.
.PP
Upon startup
.B mcsysinfod
command is used to generate the actually data which is
sent to the client.
.PP
All messages are sent to the
.B LOG_DAEMON
.B syslog(3)
facility by default.
.SH OPTIONS
.PP
Most options can be set by either a short, dash + single character, or
a long form consisting of dash + dash + string.
.PP
Command line options override builtin default values and 
corresponding CONFIGURATION FILE
parameters.
.IP "\fB-c|--configfile \fIcfFile\fR"
Use
.I cfFile
as the configuration file (see
.B "CONFIGURATION FILE")
to read.
The default configuration file is determined by looking for 
.B ../config/mcsysinfod.cf
relative to the location that
.B mcsysinfod
was run from.
Use the
.B --debug
option to see what configuration file
.B mcsysinfod
finds at startup.
.IP "\fB-d|--debug\fR"
Enable debugging information.
.IP "\fB-f|--fg\fR"
Run in the foreground (do not fork).
The default is to run in the background.
This option is usually used with
.B --debug.
.IP "\fB-L|--logfac \fIfacility\fR"
Use 
.B syslog(3)
logging 
.I facility.
The default facility is
.B daemon.
.IP "\fB-t|--timeout \fIseconds\fR"
Set the amount of idle time allowed in a client session before
the session is terminated to be
.I seconds.
The default is 1 hour.
.IP "\fB-s|--sysinfo \fIpath\fR"
Use
for connections.
The default is the standard SSP port of
.B 11967.
.IP "\fB-V|--version\fR"
Print version information and exit.
.SH "CONFIGURATION FILE (mcsysinfod.cf)"
.PP
Variables in the configuration file override builtin default values.
Command line options in turn override configuration file variables.
.PP
The name of the configuration file read by
.B mcsysinfod
is
.B mcsysinfod.cf.
.PP
Lines beginning with hash (#) are considered comment lines and are ignored.
Most variables are set with the form:
.RS
.sp
.nf
.I key=value
.fi
.sp
.RE
Variable
.I key
names are case insensitive.
.PP
The following are the valid variables:
.IP "\fBAllow=\fIname,name,...\fR"
A list of allowed hostnames and
.B netgroup(5)s.
.IP "\fBAuth=\fItype1,type2,...\fR"
Specify the types of authorization and authentication which are required
to allow a client to access SSP services.
See the
.B AUTHORIZATION
section for more details.
The valid values for
.I type
are:
.RS
.IP \fBhost\fR
Check the client's hostname/IP against the
.B Allow
list.  If a match is found, access is granted.
.IP \fBuser\fR
Require that the client send a username and password which is
checked against
.B User
entries defined in the same configuration file.
.IP \fBpasswd\fR
The string
.B ${CFDIR}
will be automatically expanded to the path to the configuration directory.
For example, the entry:
.sp
.nf
.B SysInfoPath=sysinfo:${CFDIR}/../bin/sysinfo
.fi
.sp
will first check the current directory for 
.B sysinfo
and then
look in the bin directory of the installation.
.IP "\fBTimeout=\fISeconds\fR"
Set the number of seconds before a client session is dropped to be
.I Seconds.
.IP "\fBUser=\fIusername password\fR"
Define a username and password combination which the client
can authenticate against if the
.B Auth
list includes the
.B user
type.
The password must be plain text.
Multiple
.B User
lines are accepted.

.SH AUTHORIZATION
By default,
.B mcsysinfod
allows access from any system.
Access may be limited by use of the
.B AUTH
variable in the
.B mcsysinfod.cf
file.
.PP
If the
.B AUTH
and/or
the
.B ALLOW
keywords are found in the
.B mcsysinfod.cf
then only clients who pass the authorization tests will be allowed to
connect.
The
.B AUTH
variable specifies a comma seperated list of authorization types to
check.
The recognized types are:
the client will be told during session startup that authentication via
the 
.B AUTH
protocol is required.
If the client is not authorized against the
.B ALLOW
list and no other authorization types are available, access is
denied.
.IP user
The client requesting a connection must send a 
.I username
and
.I password
which is checked against all 
.B USER
entries in the
.B mcsysinfod.cf
file.
If the
.I username
sent by the client matches a
.B USER
entry and the passwords match, access is authorized.
If the passwords do not match, access is denied.
If no match for the
.I username
is found, the
.I username
and
.I password
are checked against the next authorization type (if any)
specified in the 
.B AUTH
entry.
.IP passwd
The client requesting a connection must send a 
.I username
and
.I password
which is checked against the system's passwd(5)
database via the
.B getpwnam(3)
and
.B getspnam(3)
interfaces.
If the 
.I username
is found and the passwords match, access is granted.
If the
.I username
is found and the passwords do not match, access is denied.
Otherwise, 
.B AUTH=host,user,passwd
.B ALLOW=server1,server2,itnetgroup
.B USER=ituser1 2fatpwd
.B USER=helpdesk way2cool

.fi
.RE
A client's hostname will first be checked to see if it matches hostnames
.B server1
and
.B server2 
as well as if it's in a netgroup called
.B itnetgroup.
If that fails, the client will be told that it must authenticate itself.
If the client sends a username of
.B helpdesk
and the 
.B way2cool
password, then authentication will suceed.
If the client sends a username of
.B jsmith
and a password of
.B fun4all
then both will be checked against the system's
.B passwd(5)
database
since
.B jsmith
does not appear in any
.B USER
entry.

.SH "FILES"
/var/run/mcsysinfod.pid	\- Process ID of main listening server

.SH "SEE ALSO"
mcsysinfo(1),
getpwnam(3),
getspnam(3),
netgroup(5),
passwd(5)
.br
.sp
SysInfo(TM) Service Protocol (SSP)