share facebook facebook2 twitter menu hatena pocket slack

2013.09.20 FRI

WebDAVの認証をLDAPにしてグループ毎にアクセス制限する

鈴木 宏康

WRITTEN BY鈴木 宏康

スズキです。

LDAPの登録データは次の構成を前提にしています。(下記のような”phpLDAPadmin”を利用)

phpLDAPadminでユーザーを作ったユーザーでCentOSにログイン

WebDAVの認証で上記を利用するのですが、”admin”ディレクトリには
“admin”グループに属するユーザーのみ利用でき、
“dev”ディレクトリには”dev”グループに属するユーザーのみが利用できるようにしてみます。

ちなみに、”hsuzuki(Hiroyasu Suzuki)”は”admin/dev”の両グループに所属し、
“tsuzuki(Takamichi Suzuki)”は”dev”のグループのみに所属しています。

WebDAV(Apache)の設定は下記の通りです。


# cat /etc/httpd/conf/httpd.conf
...

DAV On
AuthType Basic
AuthName "WebDAV Server"
AuthBasicProvider ldap
AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
AuthLDAPURL ldap://localhost/ou=user,dc=suz-lab,dc=com?uid
AuthzLDAPAuthoritative on
require ldap-group cn=admin,ou=group,dc=suz-lab,dc=com



DAV On
AuthType Basic
AuthName "WebDAV Server"
AuthBasicProvider ldap
AuthLDAPGroupAttributeIsDN off
AuthLDAPGroupAttribute memberUid
AuthLDAPURL ldap://localhost/ou=user,dc=suz-lab,dc=com?uid
AuthzLDAPAuthoritative on
require ldap-group cn=dev,ou=group,dc=suz-lab,dc=com

MacのFinderからアクセスしてみます。

“hsuzuki”は”admin”グループに所属しているので、無事アクセスできます。
当然、同様に”/dev/”にもアクセスできます。
反対に”tsuzuki”は”/dev/”にはアクセスできますが、”/admin/”にはアクセスできません。

ちなみにWebDAVでアップロードしたファイルのオーナーは、どのユーザーでも”apache”になります。


# ll */*
-rw-r--r-- 1 apache apache 32 9月 9 21:57 2013 admin/error.html
-rw-r--r-- 1 apache apache 2673 9月 9 21:51 2013 admin/memo1.txt
-rw-r--r-- 1 apache apache 4038 9月 9 21:53 2013 admin/memo2.txt

こちらの記事はなかの人(suz-lab)監修のもと掲載しています。
元記事は、こちら

鈴木 宏康

鈴木 宏康

愛知県生まれ。東京工業大学大学院修士課程修了。在学時より、ベンチャー企業でインターネットに関する業務に携わり、現在はクラウド(主にAmazon Web Services)上での開発・運用を軸とした事業の、業務の中心として活躍。