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=*) 
  • Quelles sont mes options pour centraliser la gestion des users Unix
  • Oracle Embedded LDAP Error
  • Comment configurer un AD DC pour répondre aux bindings LDAP sur ldaps: //?
  • Samba: LDAP en lecture seule + utilisateurs locaux supplémentaires
  • Autoriser les users à ssh à un user spécifique via ldap et les keys publiques stockées
  • Comment puis-je emprisonner les users dans leur directory personnel avec mod_userdir dans Apache?
  • ACL OpenLDAP pour permettre aux users de modifier leur mot de passe
  • pam_ldap et ldaps ne peuvent pas contacter le server ldap
  • Comment puis-je activer nis schema dans apacheDS?
  • Problèmes avec sssd et Active Directory Integration
  • Comment puis-je searchr la partition de configuration AD pour une string donnée?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.