NAME
mount.davfs - Mount a WebDAV resource in a directory
SYNOPSIS
mount.davfs [-h | --help] [-V | --version]
mount {dir | webdavserver}
SYNOPSIS (root only)
mount -t davfs [-o option[,...]] webdavserver dir
mount.davfs [-o option[,...]] webdavserver dir
DESCRIPTION
mount.davfs allows you to mount the WebDAV resource identified by
webdavserver into the local filesystem at dir. WebDAV is an extension
to HTTP that allows remote, collaborative authoring of Web resources,
defined in RFC 4918. mount.davfs is part of davfs2.
davfs2 allows documents on a remote Web server to be edited using
standard applications. For example, a remote Web site could be updated
in-place using the same development tools that initially created the
site. Or you may use a WebDAV resource for documents you want to
access and edited from different locations.
davfs2 supports TLS/SSL (if the neon library supports it) and proxies.
mount.davfs runs as a daemon in userspace. It integrates into the
virtual file system by either the coda or the fuse kernel files system.
Currently CODA_KERNEL_VERSION 3 and FUSE_KERNEL_VERSION 7 are
supported.
mount.davfs is usually invoked by the mount(8) command when using the
-t davfs option. After mounting it runs as a daemon. To unmount the
umount(8) command is used.
webdavserver is the URL of the server. It must at least contain the
host name. It may additionally contain the scheme, the port and the
path. Missing components are set to sensible default values. The path
component must not be %-encoded, but when entering the URL at the
command line or in /etc/fstab the escaping rules of the shell or fstab
must be obeyed.
dir is the mountpoint where the WebDAV resource is mounted on. It may
be an absolute or relative path.
fstab may be used to define mounts and mount options as usual. In place
of the device the url of the WebDAV server must be given. There must
not be more than one entry in fstab for every mountpoint.
OPTIONS
-V --version
Output version.
-h --help
Print a help message.
-o A comma-separated list defines mount options to be used.
Available options are:
[no]auto
Can (not) be mounted with mount -a.
Default: auto.
conf=absolute path
An alternative user configuration file. This option is
intended for cases where the default user configuration
file in the users home directory can not be used.
Default: ~/.davfs2/davfs2.conf
[no]dev
(Do not) interpret character or block special devices
on the file system. This option is only included for
compatibility with the mount(8) program. It will allways
be set to nodev
dir_mode=mode
The default mode bits for directories in the mounted file
system. Value given in octal. s-bits for user and group
are allways silently ignored.
Default: calculated from the umask of the mounting user;
an x-bit is associated to every r-bit in u-g-o.
[no]exec
(Do not) allow execution of any binaries on the
mounted file system.
Default: exec. (When mounting as an ordinary user, the
mount(8) program will set the default to noexec.)
file_mode=mode
The default mode bits for files in the mounted file
system. Value given in octal. s-bits for user and group
are allways silently ignored.
Default: calculated from the umask of the mounting user;
no x-bits are set for files.
gid=group
The group the mounted file system belongs to. It may be a
numeric ID or a group name. The mounting user, if not
root, must be member of this group.
Default: the primary group of the mounting user.
[no]_netdev
The file system needs a (no) network connection for
operation. This information allows the operating system
to handle the file system properly at system start and
when the network is shut down.
Default: _netdev
ro Mount the file system read-only.
Default: rw.
rw Mount the file system read-write.
Default: rw.
[no]suid
Do not allow set-user-identifier or set-group-identifier
bits to take effect. This option is only included for
compatibility with the mount program. It will allways be
set to nosuid.
[no]user
(Do not) allow an ordinary user to mount the file
system. The name of the mounting user is written to mtab
so that he can unmount the file system again. Option user
implies the options noexec, nosuid and nodev (unless
overridden by subsequent options). This option makes only
sense when set in fstab.
Default: ordinary users are not allowed to mount.
users Like user, but any user is allowed to unmount the file
system, not only the mounting user. This is generally not
recomended. On systems with no mtab file with the user
option unmounting by the mounting user will fail. In this
case the users may be an appropriate work around.
Default: only the mounting user is allowed to unmount the
file system.
uid=user
The owner of the mounted file system. It may be a numeric
ID or a user name. Only when mounted by root, this may
be different from the mounting user.
Default: ID of the mounting user.
username=WebDAV_user
Use this name to authenticate with the WebDAV server. This
option is intended for use with pam_mount only. When this option
is set the credentials in the secrets files will be ignored. The
password will always be read from stdin, even when option
askauth is set to 0. Do not use it in fstab. The username will
be visible for everyone in the output of ps.
Default: no username.
Experimental: This option is experimental and might be removed.
If you think it useful and successfully use it please send a
short report.
SECURITY POLICY
mount.davfs needs root privileges for mounting. But running a daemon,
that is connected to the internet, with root privileges is a security
risk. So mount.davfs will change its uid and gid when entering daemon
mode.
When invoked by root mount.davfs will run as user davfs2 and
group davfs2. This may be changed in /etc/davfs2/davfs2.conf.
When invoked by an ordinary user it will run with the id of this
user and with group davfs2.
As the file system may be mounted over an insecure internet connection,
this increases the risk that malicious content may be included in the
file system. So mount.davfs is slightly more restrictive than mount(8).
Options nosuid and nodev will always be set; even root can not
change this.
For ordinary users to be able to mount, they must be member of
group davfs2 and there must be an entry in fstab.
When mounted by an ordinary user, the mount point must not lie
within the home directory of another user.
If in fstab option uid and/or gid are given, an ordinary user
can only mount, if her uid is the one given in option uid and he
belongs to the group given in option gid.
WARNING: If root allows an ordinary user to mount a file system (using
fstab) this includes the permission to read the associated credentials
from /etc/davfs2/secrets as well as the private key of the associated
client certificate and the mounting user may get access to this
information. You should only do this, if you might as well give this
information to the user directly.
URLS AND MOUNT POINTS WITH SPACES
Special characters like spaces in pathnames are a mess. They are
interpreted differently by different programs and protocols, and there
are different rules for escaping.
In fstab spaces must be replaced by a three digit octal escape
sequence. Write http://foo.bar/path\040with\040spaces instead of
http://foo.bar/path with spaces. It might also be necessary to replace
the ’#’-character by \043.
For the davfs2.conf and the secrets files please see the escape and
quotation rules described in the davfs2.conf(5) man page.
On command line you must obey the escaping rules of the shell.
CACHING
mount.davfs tries to reduce HTTP-trafic by caching and reusing data.
Information about directories and files are held in memory, while
downloaded files are cached on disk.
mount.davfs will consider cached information about directories and file
attributes valid for a configurable time and look up this information
on the server only after this time has expired (or there is other
evidence that this information is stale). So if somebody else creates
or deletes files on the server it may take some time before the local
file system reflects this.
This will not affect the content of files and directory listings.
Whenever a file is opened, the server is looked up for a newer version
of the file. Please consult the manual davfs2.conf(5) to see how can
you configure this according your needs.
LOCKS, LOST UPDATE PROBLEM AND BACKUP FILES
WebDAV introduced locks and mount.davfs uses them by default. This will
in most cases prevent two people from changing the same file in
parallel. But not allways:
You might have disabled locks in /etc/davfs2/davfs2.conf or
~/.davfs2/davfs2.conf.
The server might not support locks (they are not mandatory).
A bad connection might prevent mount.davfs from refreshing the
lock in time.
Another WebDAV-client might use your lock (that is not too
difficult and might even happen without intention).
mount.davfs will therefore check if the file has been changed on the
the server before it uploads a new version. If it finds it impossible
to upload the locally changed file, it will store it in the local
backup direcotry lost+found. You should check this directory from time
to time and decide what to do with this files.
Sometimes locks held by some client on the server will not be released.
Maybe the client crashes or the network connection fails. When
mount.davfs finds a file locked on the server, it will check whether
the lock is held by mount.davfs and the current user, and if so tries
to reuse and release it. But this will not allways succeed. So servers
should automatically release locks after some time, when they are not
refreshed by the client.
WebDAV allows to lock files that don’t exist (to protect the name when
a client intends to create a new file). This locks will be displayed as
files with size 0 and last modified date of 1970-01-01. If this locks
are not released properly mount.davfs may not be able to access this
files. You can use cadaver(1) <http://www.webdav.org/cadaver/> to
remove this locks.
FILE OWNER AND PERMISSIONS
davfs2 implements Unix permissions for access control. But changing
owner and permissions of a file is only local. It is intended as a
means for the owner of the file system, to controll whether other local
users may acces this file system.
The server does not know about this. From the servers point of view
there is just one user (identified by the credentials) connected.
Another WebDAV-client, connected to the same server, is not affected by
this local changes.
There is one exeption: The execute bit on files is stored as a property
on the sever. You may think of this property as an information about
the type of file rather than a permission. Whether the file is
executable on the local system is still controlled by mount options and
local permissions.
When the file system is unmounted, attributes of cached files
(including owner and permissions) are stored in cache, as well as the
attributs of the direcotries they are in. But there is no information
stored about directories that do not contain cached files.
FILES
/etc/davfs2/davfs2.conf
System wide configuration file.
~/.davfs2/davfs2.conf
Configuration file in the users home directory.The user
configuration takes precedence over the system wide
configuration. If it does not exist, mount.davfs will will
create a template file.
/etc/davfs2/secrets
Holds the credentials for WebDAV servers and the proxy, as well
as decryption passwords for client certificates. The file must
be read-writable by root only.
~/.davfs2/secrets
Holds credentials for WebDAV servers and proxy, as well as
decryption passwords for client certificates. The file must be
read-writable by the owner only. Credentials are first looked up
in the home directory of the mounting user. If not found there
the system wide secrets file is consulted. If no creditentials
and passwords are found they are asked from the user
interactively (if not disabled). If the file does not exist,
mount.davfs will will create a template file.
/etc/davfs2/certs
You may store trusted server certificates here, that can not be
verified by use of the system wide CA-Certificates. This is
useful when your server uses a selfmade certificate. You must
configure the servercert option in /etc/davfs2/davfs2.conf or
~/.davfs2/davfs2.conf to use it. Certificates must be in PEM
format.
Be sure to verify the certificate.
~/.davfs2/certs
You may store trusted server certificates here, that can not be
verified by use of the system wide CA-Certificates. This is
useful when your server uses a selfmade certificate. You must
configure the servercert option in ~/.davfs2/davfs2.conf to use
it. Certificates must be in PEM format.
Be sure to verify the certificate.
/etc/davfs2/certs/private
To store client certificates. Certificates must be in PKCS#12
format. You must configure the clientcert option in
/etc/davfs2/davfs2.conf or ~/.davfs2/davfs2.conf to use it. This
directory must be rwx by root only.
~/.davfs2/certs/private
To store client certificates. Certificates must be in PKCS#12
format. You must configure the clientcert option in
~/.davfs2/davfs2.conf to use it. This directory must be rwx by
the owner only.
/var/run/mount.davfs
PID-files of running mount.davfs processes are stored there.
This directory must belong to group davfs2 with write
permissions for the group and the sticky-bit set (mode 1775).
The PID-files are named after the mount point of the file
system.
/var/cache/davfs2
System wide directory for cached files. Used when the file
system is mounted by root. It must belong do group davfs2 and
read, write and execute bits for group must be set. There is a
subdirectory for every mounted file system. The names of this
subdirectories are created from url, mount point and user name.
~/.davfs2/cache
Cache directory in the mounting users home directory. For every
mounted WebDAV resource a subdirectory is created.
mount.davfs will try to create missing directories, but it will not
touch /etc/davfs2.
ENVIRONMENT
https_proxy http_proxy all_proxy
If no proxy is defined in the configuration file the value is
taken from this environment variables. The proxy may be given
with or without scheme and with or without port
http_proxy=[http://]foo.bar[:3218]
Only used when the mounting user is root.
no_proxy
A comma separated list of domain names that shall be accessed
directly. * matches any domain name. A domain name starting
with . (period) matches all subdomains.
Only used when the mounting user is root.
Not applied when the proxy is defined in /etc/davfs2.
EXAMPLES
Non root user (e.g. filomena):
To allow an ordinary user to mount there must be an entry in fstab
http://webdav.org/dav /media/dav davfs noauto,user 0 0
If a proxy must be used this should be configured in
/etc/davfs2/davfs2.conf
proxy proxy.mycompany.com:8080
Credentials are stored in /home/filomena/.davfs2/secrets
proxy.mycompany.com filomena "my secret"
/media/dav webdav-username password
Now the WebDAV resource may be mounted by user filomena invoking
mount /media/dav
and unmounted by user filomena invoking
umount /media/dav
Root user only:
Mounts the resource https://asciigirl.com/webdav at mount point
/mount/site, encrypting all traffic with SSL. Credentials for
http://webdav.org/dav will be looked up in /etc/davfs2/secrets, if not
found there the user will be asked.
mount -t davfs -o uid=otto,gid=users,mode=775
https://asciigirl.com/webdav /mount/site
Mounts the resource http://linux.org.ar/repos at /dav.
mount.davfs -o uid=otto,gid=users,mode=775
http://linux.org.ar/repos/ /dav
BUGS
davfs2 does not support links.
A davfs2 file system cannot be moved with mount --move.
AUTHORS
This man page was written by Luciano Bello <luciano@linux.org.ar> for
Debian, for version 0.2.3 of davfs2.
It has been updated for this version by Werner Baumann
<werner.baumann@onlinhome.de>.
davfs2 is developed by Sung Kim <hunkim@gmail.com>.
Version 1.0.0 (and later) of davfs2 is a complete rewrite by Werner
Baumann.
DAVFS2 HOME
http://savannah.nongnu.org/projects/davfs2
SEE ALSO
umount.davfs(8), davfs2.conf(5), mount(8), umount(8), fstab(5)