Generally mounting requires root permisisons; the only way around this is via FUSE, but this way requires a matching entry in the system fstab.

Mount via root

sudo mount.davfs -o users,uid=systemuser,username=webdavuser http://foo.bar/folder /home/systemuser/folder

Problems

  1. Requires root permissions - once per call
  2. Unmounting requires root

Mount via user and password prompt

sudo echo " http://foo.bar/folder davfs2 defaults,noauto 0 0" >> /etc/fstab"
mount.davfs -o users,uid=systemuser,username=webdavuser /home/user/folder

Problems

  1. Requires root permissions - once per setup
  2. Reads password from stdin
  3. System config must be changed

Mount via user and without password prompt

sudo echo "http://foo.bar/folder davfs2 defaults,noauto 0 0" >> /etc/fstab"
echo "http://foo.bar/folder webdavusername webdavpassword" >> /home/systemuser/.davfs/secrets (or /etc/davfs2/secrets)
mount.davfs -o users,uid=systemuser /home/user/folder

Problems

  1. Requires root permissons - once per setup
  2. Webdav password is stored in a plaintext file
  3. System config must be changed
  4. Secrets file must be user-only readable/writable (chmod 0600)

Requirements of the actual implementation