.TH CIFS 4
.SH NAME
cifs \- Microsoft\(tm Windows filesystem client
.SH SYNOPSIS
.B aux/cifs
[
.B -dDvb
] [
.B -a
.I auth-method
] [
.B -s
.I srvname
] [
.B -n
.I called-name
] [
.B -k 
.I keyparam
] [
.B -m
.I mntpnt
]
.I host
.I [ share... ]
.PP
.SH DESCRIPTION
.I Cifs
translates between the Microsoft's file sharing protocol, (AKA
CIFS or SMB), and 9P, allowing Plan9 clients to mount file systems
(shares or trees in MS terminology) published by such servers.
.PP
The root of the mounted directory contains one subdirectory per share,
always named in lower case, and a few virtual files of mixed case which
give additional server, session, share, and user information.
The options are:
.TP
.B -D
9P request debug.
.TP
.B -d
CIFS packet debug.
.TP
.B -b
Enable file ownership resolution in \fIstat(2)\fR calls. This requires an open
and close per file and thus will slow \fIcifs\fR considerably its use is not
reccomended.
.TP
.B -a \fIauth-method
Cifs authenticates using \fBNTLM\fR by default, alternative stratigies may be
selected using this option. Cifs enshews cleartext authentication, however
it may be enabled with the \fIplain\fR auth method. The list of currently
supported methods is printed if no method name is supplied.
.sp 1
\fIWindows server 2003\fR requires the \fBNTLMv2\fR method by default though it
can be configured to be more flexible.
.TP
.B -s \fIsrvname
post the service as
.B /srv/ srvname 
.TP
.B -n \fIcalled-name
The CIFS protocol requires clients to know the NetBios name of the
server they are attaching to, the \fIcalled-name\fR. If this is not
specified on the command line \fICifs\fR attempts to discover this
name from the remote server.
If this fails it will then try \fIhost\fR, finally it will try the
name \fB*SMBSERVER\fR.
.TP
.B -k \fI keyparam
lists extra parameters which will be passed to \fIfactotum(4)\fR to remove key ambiguity.
The remote servers's domain is always included in the keyspec, under the assumption
that all servers in a Windows domain share an authentication domain; Thus \fIcifs\fR
expects keys in factotum of the form:
.EX
	key proto=pass dom=THEIR-DOMAIN service=cifs 
		user=MY-USERNAME !password=XYZZY
.EE
.TP
.B -m \fImntpnt
set the mount point for the remote filesystem; 
the default is
.BI /n/  host .
.TP
.I host
The address of the remote server to connect to.
.TP
.I share
A list of share names to attach on the remote server, if none given
\fIcifs\fR will attempt to attach all shares published by the remote host.
.SH "VIRTUAL FILES"
.PP
Several virtual files appear in the root of the mounted filesystem:
.PP
.TP
.B Shares
Contains a list of the currently attached shares, 
with fields giving the share name,  disk free space / capacity, the share type,
and a descriptive comment from the server.
.TP
.B Connection
Contains the username used for authentication, server's called name, server's domain,
server's OS, the time slip between the local host and the server,
the Maximum Transfer Unit (MTU) the server requested, and optionally a flag
indicating only guest access has been granted.
The seccond line contains a list of capabilities offered by the server which is
mainly of use for debugging \fIcifs(1)\fR
.TP
.B Users
Each line contains a user's name, the users full name, and a descriptive comment.
.TP
.B Groups
Each line gives a group's name, and a list of the names of the users who
are members of that group.
.TP
.B Sessions
Lists the users authenticated, the client machine's NetBios name or IP address,
the time since the connection was established,
and the time for which the connection has been idle.
.TP
.B Domains
One line per domain giving the domain name and a descriptive comment.
.TP
.B Workstations
One line per domain giving the domain name and a descriptive comment,
the version number of the OS it is running, and comma seperated list of flags
giving the features of that OS.
.TP
.B Dfsroot
Top level DFS routing giving the DFS link type, time to live of the data,
proximity of the server, the Netbios or DNS name and a physical path or a machine
that this maps to.
.sp 1
DNS paths are usually assigned dynamicially as a form of load balancing.
.SH BUGS
The NetApp Filer compatibility has not yet been tested, there may not be any.
.PP
DFS supported is not yet completed.
.PP
Kerbros authentication is not yet supported.
.PP
NetBios name resolution is not supported, though it is now rarely used.
.PP
\fICifs\fR has only been tested against \fIaquarela(1)\fR Windows 95, NT4.0sp6,
Windows server 2003, WinXP pro, Samba 3.0, and Samba 2.0 (Pluto VideoSpace). No
support is attempted for servers predating NT4.0.
.PP
.SH HISTORY
\fICifs\fR was written by Steve Simon, It is a re-implementation
of an earlier client written by Russ Cox and William Josephson.
