Comment empêcher les membres d'un groupe LDAP d'accéder à un dossier avec Apache .htaccess

En utilisant Apache 2.2.14 sur Ubuntu 10.04, j'essaie de protéger un dossier avec l'authentification LDAP. Notre server LDAP exécute Novell eDirectory.

Tous nos users se trouvent dans des sous-groupes de ou = Users, ou = Directory, o = IC. Comme ça:

  • ou = Managers, ou = Users, ou = Directory, o = IC
  • ou = Employés, ou = Utilisateurs, ou = Répertoire, o = IC
  • ou = Misc, ou = Users, ou = Directory, o = IC
  • ou = Outsiders, ou = Users, ou = Directory, o = IC

Je veux que tous les users, ou = Directory, o = IC puissent accéder à mon dossier, sauf ceux dans ou = Outsiders, ou = Users, ou = Directory, o = IC.

Je peux entrer dans mon dossier avec mes informations de connection LDAP en utilisant les parameters suivants, mais cela ne bloque pas les users dans le groupe Outsiders:

AuthName "Login Required: please enter your L-number and PIN" AuthType Basic AuthBasicProvider ldap AuthzLDAPAuthoritative on AuthLDAPURL ldaps://ldap.example.com/ou=Users,ou=Directory,o=IC?cn?sub?(objectclass=Person) Require ldap-filter (|(cn=*,ou=Managers,ou=Users,ou=Directory,o=IC)(cn=*,ou=Employees,ou=Users,ou=Directory,o=IC)(cn=*,ou=Misc,ou=Users,ou=Directory,o=IC)) AuthLDAPBindDN cn=binder,ou=Admin,ou=Directory,o=IC AuthLDAPBindPassword password 

J'ai essayé:

  • Exiger un user valide
  • Divers AuthLDAPURLs
  • Exiger le groupe ldap pour les groupes que je veux.
  • D'autres searchs pour le filter Require ldap, comme ne pas avoir "cn = *".

Tout ne me lâche pas, jette une erreur 500 ou permet aux membres de ou = Outsiders, ou = Users, ou = Directory, o = IC in.

Alors, comment puis-je garder les membres de ou = Outsiders, ou = Users, ou = Directory, o = IC hors de mon dossier?

One Solution collect form web for “Comment empêcher les membres d'un groupe LDAP d'accéder à un dossier avec Apache .htaccess”

En supposant que j'ai 2 groupes avec la structure suivante:

 dn: ou=IT,dc=domain,dc=com ou: IT objectClass: top objectClass: organizationalUnit dn: cn=bob,ou=IT,dc=domain,dc=com cn: bob sn: Bob objectClass: inetOrgPerson objectClass: organizationalPerson objectClass: person objectClass: top userPassword:: xx ... dn: ou=HR,dc=domain,dc=com ou: HR objectClass: top objectClass: organizationalUnit dn: cn=alice,ou=HR,dc=domain,dc=com cn: alice objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson userPassword:: xx ... 

Vous pouvez répertorier tous les users en informatique ou en département RH en exécutant:

 $ ldapsearch -W -x -D "cn=binder,dc=domain,dc=com" \ '(&(|(ou:dn:=IT)(ou:dn:=HR))(cn=*))' 

Donc, vous devriez essayer avec ldapsearch depuis la command line d'abord:

 $ ldapsearch -W -x -D "cn=binder,ou=Users,ou=Directory,o=IC" \ '(&(|(ou:dn:=Managers)(ou:dn:=Employees)(ou:dn:=Misc))(cn=*))' 

Si cela fonctionne, modifiez le file de configuration mod_authz_ldap comme bien:

 Require ldap-filter &(|(ou:dn:=Managers)(ou:dn:=Employees)(ou:dn:=Misc))(cn=*) 
  • Clustering wildfly en utilisant apache et haproxy
  • Désactivation de la signature LDAP sur PDC Windows dans la politique locale
  • Comment puis-je renvoyer les messages d'erreur pertinents à un user final à partir de ppm / cracklib lorsqu'il est embedded dans une politique de mot de passe OpenLDAP?
  • Compte restreint pour interroger Active Directory par LDAP
  • Client LDAP gratuit pour Windows?
  • 389 erreur du server d'annuaire "L'opération nécessite une connection sécurisée"
  • ldap_add aucun object de ce type (32) apparié dn dc = domain dc = com
  • Autorisation utilisant l'OU LDAP ou les groupes
  • Apache auth: combinaison de LDAP et htpasswd
  • Le moyen le plus efficace de récupérer un set d'loggings LDAP?
  • Comment déterminer le domaine Kerberos à partir d'un directory LDAP?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.