WebDAV(Apache)で、書き込み禁止とそうでないユーザーの設定例

WebDAVの設定で、書き込み禁止のユーザーと書き込みできるユーザーの設定で苦しんだのでメモ

Apache mod_dav の basic認証で .htpasswd に AdminUserを含む各ユーザーの認証情報が入っている想定

Limit で認証済みユーザー全員に HEAD PROPFIND OPTIONS GET を許可して、ファイル一覧や読み込みを許可
LimitExcept で HEAD PROPFIND OPTIONS GET 以外を、指定した認証済みユーザー(例では AdminUser)に許可

<IFmodule mod_dav.c>
    DAVMinTimeout 300
    <Location /dav/hogehoge>
          DAV On
          Options None Indexes
          SSLRequireSSL

          AuthType Basic
          AuthName "WebDAV Server"
          AuthUserFile ".htpasswd"
#         Require valid-user

          <Limit HEAD PROPFIND OPTIONS GET >
               Require valid-user ←認証済みユーザー
          </Limit>

          <Limitexcept HEAD PROPFIND OPTIONS GET >
               Require user AdminUser ←書き込みできるユーザー
          </Limitexcept>
    </Location>
</IfModule>


コメント