webdavd is a WebDAV server designed to be a replace for SAMBA providing access to a system's files without taking ownership of them. It aims to differ from most WebDAV servers on a number of points:
- Users are authenticated through PAM and are always operating system users.
- The webserver switches OS user to match the authenticated user before accessing any files.
- The daemon operates without any prior knowledge of the files it's serving.
- The daemon does NOT take ownership of the files it modifies and serves. It does not take ownership of any files in any way. Even locking operations are implemented using the native OS
flock()
function.
(c) Copyright Philip Couling 2013-2017
This code may be used under an MIT Licence. Please see LICENCE.md for details.
If properly installed the server can be started with:
service webdavd start
The server can be started manually by calling:
webdavd config-file [config-file ...]
See Configuration for details of the config file.
- Locking file is limited and it is currently not possible to lock a directory
- PAM sessions are of a fixed length and their length is not affected by user activity.
sudo apt-get install gcc libmicrohttpd-dev libpam0g-dev libxml2-dev libgnutls28-dev libgnutls30 uuid-dev
make
sudo apt-get install gcc libmicrohttpd-dev libpam0g-dev libxml2-dev libgnutls28-dev uuid-dev
make
To assemble everything into a DPKG you can either read one of the manifest files package-control/manifest.ubuntu
or package-control/manifest.rpi
Or you can use my package-project
script. For example:
package-project package-control/manifest.ubuntu
Use the included SPEC file to build the rpm file. package-control/webdavd.spec
. It is sufficient to only download the SPEC file and run the below commands.
sudo dnf builddep webdavd.spec
rpmbuild --undefine=_disable_source_fetch -ba webdavd.spec