我有一台服务器,目前使用 htpasswd 来验证用户身份。我正在迁移到使用 LDAP,但我的 LDAP 服务器仅用于用户身份验证,不允许我添加组。
我仍然需要使用组,因为它们用于通过我的配置中的 Apache Directory 标签进行访问控制。另一种方法是重新访问访问控制,使用 php 或类似的东西来限制访问。
这适用于“基本”身份验证
<Directory /misc/www/html/site>
#LDAP & other config stuff irrelevant to issue
Require ldap-group cn=<service>,ou=Groups,dc=<service>,dc=<org>,dc=com
</Directory>
尝试
<Directory /misc/www/html/site>
#LDAP & other config stuff irrelevant to issue
#groups file from previous configuration using htpasswd
#tried to tweak to match new user format, but I don't think it looks up in here
AuthGroupFile /misc/www/htpasswd/groups
#added the group, which is how it works when using htpasswd
Require ldap-group cn=<service>,ou=Groups,dc=<service>,dc=<org>,dc=com group xyz
</Directory>
答案1
正如 @EJP 指出的那样,最好的解决方案是将组放入 LDAP 中。不过,要回答您的问题,您可以将计算机加入 LDAP 服务器,以便 LDAP 帐户成为 OS 用户。然后,您可以将用户放入 OS 组中(即/etc/group
在 Unix 上),并使用mod_authz_unixgroup。