我正在lighttpd
Linux 服务器上运行。我已经设置了webdav
,我想将 umask 设置为特定值仅有的针对该webdav
站点,而不针对我的lighttpd
服务器下运行的任何其他站点。有什么方法可以告诉webdav
underlighttpd
使用特定的 umask 吗?
请注意,我使用的是标准的 Debian 构建版本lighttpd
。如果可能的话,我宁愿不从源代码构建任何这些内容。lighttpd-mod-webdav
apt
这是我为该网站使用的配置webdav
...
server.username = "www-data"
server.groupname = "www-data"
[... etc. ...]
$HTTP["url"] =~ "^/webdav/" {
webdav.activate = "enable"
webdav.is-readonly = "disable"
webdav.sqlite-db-name = "/var/www/etc/lighttpd.webdav.db"
auth.backend = "htpasswd"
auth.backend.htpasswd.userfile = "/var/www/etc/.htaccess"
auth.require = (
"" => ( "method" => "basic",
"realm" => "Restricted.",
"require" => "valid-user"
)
)
}
还 ...
# /usr/sbin/lighttpd -V
lighttpd/1.4.35 (ssl) - a light and fast webserver
Build-Date: Aug 2 2016 09:50:21
Event Handlers:
+ select (generic)
+ poll (Unix)
- rt-signals (Linux 2.4+)
+ epoll (Linux 2.6)
- /dev/poll (Solaris)
- eventports (Solaris)
- kqueue (FreeBSD)
- libev (generic)
Network handler:
+ linux-sendfile
- freebsd-sendfile
- solaris-sendfilev
+ writev
+ write
- mmap support
Features:
+ IPv6 support
+ zlib support
+ bzip2 support
+ crypt support
+ SSL Support
+ PCRE support
+ mySQL support
+ LDAP support
- memcached support
+ FAM support
+ LUA support
+ xml support
+ SQLite support
+ GDBM support
非常感谢您的任何见解或建议。
答案1
一个可能的解决方案:您可以运行两个 lighttpd 实例,并将一个代理返回到另一个代理。可以使用不同的 umask 启动后端(甚至可以在不同的用户帐户下运行)来处理 webdav。
答案2
如果不修改,这似乎是不可能的lighttpd-mod-webdav
。我会努力解决这个问题,并且我放弃尝试使用标准lighttpd
设施来解决这个问题。