我在 Ubuntu 12.04 Server 上运行 Apache2,因为我想为每个 ldap 用户创建一个主目录。我使用 LDAP 进行身份验证,它运行正常。此外,我还对 Apache2 的 LDAP 模块进行了一些测试,它运行正常。
这种 LDAP 身份验证的问题在于,任何成功登录的用户都可以访问 ~user/public_html,即使用户不是所有者那个家。
我不知道如何控制,例如,userldap2 可以访问 userldap1/public_html。我希望只有 userldap1 可以访问 userldap1。
有人能告诉我如何使用 LDAP 身份验证来控制它吗?
我希望你能理解我。
我的配置(auth_ldap.conf)
<Directory /home/disco2/*/public_html>
AuthName "Authentication"
AuthType basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://prueba.borja/dc=prueba,dc=borja?uid?
Require ldap-filter objectClass=posixAccount
</Directory>
答案1
可能对你有用的一个选项是mod_authz_ownerApache 模块。虽然我不能验证这是否适用于AuthBasicProvider ldap
,我们确实将它用于AuthType CAS
:
AuthType CAS
CASAuthNHeader REMOTE_USER
Require file-owner
mod_authz_owner 将允许您使用该Require file-owner
选项。