CIFS(4) CIFS(4)
NAME
cifs - Microsoft™ Windows network filesystem client
SYNOPSIS
cifs [ -bDiv ] [ -d debug ] [ -a auth-method ] [ -s srvname
] [ -n called-name ] [ -k keyparam ] [ -m mntpnt ] [ -t
dfs-timeout ] host [ share ... ]
DESCRIPTION
Cifs translates between Microsoft's file-sharing protocol
(a.k.a. CIFS or SMB) and 9P, allowing Plan 9 clients to
mount file systems (shares or trees in MS terminology) pub-
lished by such servers.
The root of the mounted directory contains one subdirectory
per share, and a few virtual files give additional informa-
tion. The arguments are:
-a auth-method Cifs authenticates using ntlmv2 by default,
but alternative strategies may be selected
using this option. Cifs eschews cleartext
authentication, however it may be enabled
with the `plain' auth method. The list of
currently-supported methods is printed if no
method name is supplied.
Windows server 2003 requires the ntlmv2
method by default, though it can be config-
ured to be more flexible.
-b Enable file ownership resolution in stat(2)
calls. This requires an open and close per
file and thus will slow cifs considerably;
its use is not recommended.
-d debug followed by non-whitespace separated list of
debug options debug writes specific debug
output to file descriptor 2. See source for
more information.
-D 9P request debug.
-i By default cifs attempts to enforce case
significance file and directory names,
though objects which differ only in their
case still cannot co-exist in the same
directory. The -i option disables this
behaveiour.
Page 1 Plan 9 (printed 12/15/25)
CIFS(4) CIFS(4)
-k keyparam lists extra parameters which will be passed
to factotum(4) to select a specific key.
The remote servers's domain is always
included in the keyspec, under the assump-
tion that all servers in a Windows domain
share an authentication domain; thus cifs
expects keys in factotum of the form:
key proto=pass dom=THEIR-DOMAIN service=cifs
user=MY-USERNAME !password=XYZZY
-m mntpnt set the mount point for the remote filesys-
tem; the default is /n/host.
-n called-name The CIFS protocol requires clients to know
the NetBios name of the server they are
attaching to, the Icalled-name. If this is
not specified on the command line, cifs
attempts to discover this name from the
remote server. If this fails it will then
try host, and finally it will try the name
`*SMBSERVER'.
-s srvname post the service as /srv/srvname.
-t dfs-timeout sets the timeout in for DFS redirections -
it defaults to 100ms. This is a reasonable
minimum, it should have a value just greater
than the RTT to the most distant server
being accessed.
host The address of the remote server to connect
to.
share A list of share names to attach on the
remote server; if none is given, cifs will
attempt to attach all shares published by
the remote host.
Synthetic Files
Several synthetic files appear in the root of the mounted
filesystem:
Shares Contains a list of the currently attached
shares, with fields giving the share name, the
share type, disk free space / capacity, and a
descriptive comment from the server.
Connection Contains the username used for authentication,
server's called name, server's domain,
server's OS, the time slip between the local
Page 2 Plan 9 (printed 12/15/25)
CIFS(4) CIFS(4)
host and the server, the Maximum Transfer Unit
(MTU) the server requested, and optionally a
flag indicating only guest access has been
granted. The second line contains a list of
capabilities offered by the server which is
mainly of use for debugging cifs.
Users Each line contains a user's name, the user's
full name, and a descriptive comment.
Groups Each line gives a group's name, and a list of
the names of the users who are members of that
group.
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.
Domains One line per domain giving the domain name and
a descriptive comment.
Workstations One line per domain giving the domain name and
a descriptive comment, the version number of
the OS it is running, and comma-separated list
of flags giving the features of that OS.
Dfsroot Lists the top level DFS domains and the
servers that provision them.
Dfscache Contents of the DFS referal cache, giving the
path prefix, the expiry time (or -1 for
never), the measured RTT to the server in mil-
liseconds, the server proximity (0 is local),
the server name, and the share name on that
server.
COMPATIBILITY
Cifs has been tested against aquarela, cifsd(8), Windows 95,
NT4.0sp6, Windows server 2003, Windows server 2003, WinXP
pro, Samba 2.0 (Pluto VideoSpace), and Samba 3.0.
Windows Vista require a hotfix (registry change) to support
NTLMv2 without GSSAPI, see
http://support.microsoft.com/kb/957441. Alternatively the
-a option can be used to force cifs to use one of the less
secure authentication mechanisms.
Windows 7 has dropped support for RAP, which is used to gen-
erate the synthetic files offered by cifs. RAP is also used
to enumerate the shares offered by the remote host so remote
share names must always be specified on the command line.
Page 3 Plan 9 (printed 12/15/25)
CIFS(4) CIFS(4)
The NetApp Filer was supported by earlier releases, however
recent attempts to mount one have failed. Should a server be
available it is likely that this could be easily fixed.
SOURCE
/sys/src/cmd/cifs
SEE ALSO
factotum(4), cifsd(8)
BUGS
DFS support is unfinished, it will not follow referals that
span servers.
Kerberos authentication is not supported.
NetBios name resolution is not supported, though it is now
rarely used.
HISTORY
Cifs first appeared in Plan 9 from Bell Labs. It was updated
to the author's latest revision for 9front (January, 2012).
Page 4 Plan 9 (printed 12/15/25)