我在 RHEL 6.x 上使用 Apache 2.2。我可以将 webdav 设置为用户 x 的只读或用户 x 的读写,但不知道如何使其对用户 x 只读,而对用户 y 可读/写。我只有一个文件夹 /var/www/html/davtest,由 apache:apache 拥有,我希望 myUser 具有只读访问权限,myAdmin 具有读/写访问权限。到目前为止,我只能通过修改目录 /var/www/html/davtest 的权限来控制这一点(例如,如果 apache 具有 rw 权限,那么无论我如何设置下面的 limitExcept,任何一个用户都可以读/写
一般来说这可能吗?
<Directory /var/www/html/davtest >
DAV on
Options Indexes
AuthType Digest
AuthName myAuth
AuthDigestDomain /myD/ http://mysys.x.y/davtest
AuthDigestProvider file
AuthUserFile /var/www/davDigest/dav_pw
require user readOnlyUser
<limitExcept get head options>
require user myAdmin
</limitExcept>
</Directory>
我已尝试使用 Limit、LimitExcept 进行各种排列,并且似乎唯一决定谁可以读取/写入共享的是共享中文件/文件夹的权限。
任何指导,指向文档的指针都将不胜感激。谢谢
答案1
弄清楚了关键组件是 PROPFIND 下面的设置需要有效用户进行只读访问,写入/删除/修改需要 myAdmin
<Location /myDav >
DAV on
Options Indexes
AuthType Digest
AuthName YSM-iPad
AuthDigestDomain /myDav http://my.path.to.server/myDav
AuthDigestProvider file
AuthUserFile /var/www/davConf/.davpw
Order allow,deny
allow from my.domain
<Limit GET OPTIONS PROPFIND>
require valid-user
</Limit>
<LimitExcept GET OPTIONS PROPFIND>
require user myAdmin
</LimitExcept>
答案2
那么像这样的事情怎么样:
<Directory /var/www/html/davtest >
DAV on
Options Indexes
AuthType Digest
AuthName myAuth
AuthDigestDomain /myD/ http://mysys.x.y/davtest
AuthDigestProvider file
AuthUserFile /var/www/davDigest/dav_pw
<limit get head options>
require user readOnlyUser
require user myAdmin
</limit>
<limitExcept get head options>
require user myAdmin
</limitExcept>
</Directory>