为用户 x 配置 apache/webdav 只读,为用户 y 配置读/写

为用户 x 配置 apache/webdav 只读,为用户 y 配置读/写

我在 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>

相关内容