« D7000の電子水準器 | Main | Diagram Designer でフローチャート作成 »

2011.04.24

WebDAVでフォルダー毎のアクセス制御

WebDAVのルートフォルダーが /davfolder だったとして・・・(WebDAVクライアントとして、CarotDAVを使用)。

【やりたいこと】
・/davfolder は、認証を通っていれば誰でも閲覧可能。ただし、誰も書き込み不可(サブフォルダーの削除やリネームも不可)
・/davfolder/group1 およびその下位フォルダーは、管理者と、group1に含まれるユーザーが読み書き可能
・/davfolder/group2 およびその下位フォルダーは、管理者と、group2に含まれるユーザーが読み書き可能
・/davfolder/share およびその下位フォルダーは、認証を通っているユーザーが読み書き可能
・極力ラクに設定を定義したい(個々のフォルダ毎にdav onの記述などをしたくない)。

【結論】
・どうにも上手く設定できず・・・。
WebDAVフォルダで「読み取りのみ」ユーザーと「読み書き」ユーザーを区別する の時と参考に、/davfolder 直下において GET リクエストに限定してみたところ、そもそも認証なしでアクセスできるようになってしまった(何故?)。
・/davfolder の所有者をrootに、その配下のフォルダの所有者をapacheにしたところ、書き込みはできなくなったが、配下のフォルダに対して「削除」を行うと、フォルダ内のファイルをがっつりと削除できてしまった(フォルダそのものは残る)。

ってことで諦めて、 /davfolder 直下は管理者のみアクセスできるようにし、group1のユーザーがgroup1フォルダーとshareフォルダーを行き来する場合は、直接URLを入力してもらうことに(本当はURLを直接入力せずにフォルダ移動できるようにしたかったのですが・・・残念)。

最終的な設定は以下のような感じ。

<Location /davfolder>
  Dav on
  Allow from all
  Options Indexes
  IndexOptions FancyIndexing FoldersFirst Charset=UTF-8 NameWidth=*
  AuthName "Webdav Folder"
  AuthType Basic
  AuthUserFile /etc/httpd/conf.d/.htpasswd
  AuthGroupFile /etc/httpd/conf.d/dav.group
  Require group admin
</Location>
<Location /davfolder/group1>
  Require group admin group1
</Location>
<Location /davfolder/group2>
  Require group admin group2
</Location>
<Location /davfolder/share>
  Require valid-user
</Location>

#本当はもっといい方法があるんでしょうけど・・・。

|

« D7000の電子水準器 | Main | Diagram Designer でフローチャート作成 »

Linux」カテゴリの記事

Comments


Dav on
Allow from all
Options Indexes
IndexOptions FancyIndexing FoldersFirst Charset=UTF-8 NameWidth=*
AuthName "Webdav Folder"
AuthType Basic
AuthUserFile /etc/httpd/conf.d/.htpasswd
AuthGroupFile /etc/httpd/conf.d/dav.group
Require group admin


Require group group1 group2


以下略

でいけませんか?
解決してるかもしれませんが。

Posted by: ゆうは。 | 2011.11.06 22:40

あら。たぐの部分がきえてもうた。

Limit GET PROPFIND OPTIONS
Require group group1 group2
/Limit

です

Posted by: ゆうは。 | 2011.11.06 22:42

The comments to this entry are closed.

TrackBack


Listed below are links to weblogs that reference WebDAVでフォルダー毎のアクセス制御:

« D7000の電子水準器 | Main | Diagram Designer でフローチャート作成 »