LDAP + pam_access : gestion users par ldap

LDAP + pam_access : gestion users par ldap - Infrastructures serveurs - Systèmes & Réseaux Pro

Marsh Posté le 08-04-2010 à 14:17:00    

Hello,
 
Voilà ce que voudrais faire : Permettre à mes utilisateurs de s'authentifier à travers une base ldap sur des serveurs linux, en fonction de leur groupe (s'il font parti du groupe ldapuser, je leur permet de se connecter sur la machine, sinon la connexion est refusée).
 
Ce qui fonctionne : l'authentification simple, sans contrôle du groupe, tout se passe bien.
Ce qui ne fonctionne pas, ou aléatoirement : Le contrôle du groupe, j'ai l'impression que c'est totalement aléatoire..  
 
Pour mettre en place tout ça, je me suis appuyé sur ce tutoriel.
 
Concernant ma conf, voilà où j'en suis :
 
/etc/pam.d/common-account:
 

account     required      pam_unix.so
account     sufficient    pam_succeed_if.so uid < 2000 quiet
account     [default=bad success=ok user_unknown=ignore] pam_ldap.so
account     required      pam_permit.so


 
/etc/pam.d/common-auth:
 

account required    pam_access.so
auth    sufficient      pam_unix.so nullok_secure
auth    requisite       pam_succeed_if.so uid >= 2000 quiet
auth    sufficient      pam_ldap.so use_first_pass
auth    required        pam_deny.so


 
/etc/pam.d/common-password:
 

password    sufficient    pam_unix.so md5 obscure min=4 max=8 nullok try_first_pass
password    sufficient    pam_ldap.so
password    required      pam_deny.so


 
/etc/pam.d/common-session:
 

session     required      pam_limits.so
session     required      pam_unix.so
session     optional      pam_ldap.so
session    required     pam_mkhomedir.so skel=/etc/skel/


 
/etc/security/access.conf (j'ai remplacé login par ldapuser, je suis parti du principe qu'on peut mettre le groupe que l'on veut, tant que ça reste cohérent avec notre base ldap..)
 

# disallow all except people in the login group and root
-:ALL EXCEPT root [b]ldapuser[/b]:ALL EXCEPT LOCAL


 
voici un dump rapide de ma base actuelle :


dn: dc=lab3
objectClass: top
objectClass: dcObject
objectClass: organization
o: lab3
dc: lab3
 
dn: cn=admin,dc=lab3
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword: {crypt}uVPPl7R64d3rc
 
dn: ou=Group,dc=lab3
objectClass: organizationalUnit
objectClass: top
ou: Group
 
dn: cn=autre,ou=Group,dc=lab3
objectClass: posixGroup
objectClass: top
cn: autre
userPassword: {crypt}x
gidNumber: 1003
memberUid: userdeny
memberUid: test
 
dn: cn=ldapuser,ou=Group,dc=lab3
objectClass: posixGroup
objectClass: top
userPassword: {crypt}x
gidNumber: 1002
memberUid: userauth
cn: ldapuser
 
dn: cn=testdeny,ou=Group,dc=lab3
objectClass: posixGroup
objectClass: top
cn: testdeny
userPassword: {crypt}x
gidNumber: 1005
memberUid: testdeny
 
dn: cn=userldap,ou=Group,dc=lab3
objectClass: posixGroup
objectClass: top
cn: userldap
userPassword: {crypt}x
gidNumber: 1002
memberUid: test
 
dn: ou=People,dc=lab3
objectClass: organizationalUnit
objectClass: top
ou: People
 
dn: uid=test,ou=People,dc=lab3
uid: test
cn: test
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 14665
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1004
gecos: test,,,
homeDirectory: /home/test
userPassword: {CRYPT}lXY6l29GKWv8M
gidNumber: 1003
 
dn: uid=testdeny,ou=People,dc=lab3
uid: testdeny
cn: testdeny
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 14665
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1005
gecos: testdeny,,,
homeDirectory: /home/testdeny
userPassword: {CRYPT}vOrk2R9MnHjgM
gidNumber: 1005
 
dn: uid=userauth,ou=People,dc=lab3
uid: userauth
cn: userauth
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 14665
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1002
gecos: userauth,,,
homeDirectory: /home/userauth
userPassword: {CRYPT}ppmjn6mkK5dOY
gidNumber: 1002
 
dn: uid=userdeny,ou=People,dc=lab3
uid: userdeny
cn: userdeny
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 14665
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1003
gecos: userdeny,,,
homeDirectory: /home/userdeny
userPassword: {CRYPT}Ay6TrcluhmN2Q
gidNumber: 1003


 
Ce qu'il se passe : A l'ouverture d'un shell j'arrive à me loguer avec userauth, ce qui est normal, je n'arrive pas avec userdeny, ce qui est normal aussi, par contre, j'arrive aussi à me loguer avec test, alors qu'il n'est pas du tout dans le groupe ldapuser ! Le truc le plus étrange, c'est que lorsque je pars d'un shell ouvert, en root, si je fais un "su" avec n'importe lequel de ces utilisateurs, j'arrive à me loguer...  
 
Là je sèche, je mise fortement sur un problème de conf dans mes fichier /etc/pam.d/common-*, je suis certain que quelquechose n'est pas correct à ce niveau, mais quoi ? Je suis loin de maîtriser le fonctionnement de cette partie.
Par ailleurs, j'ai pris pour mes utilisateurs un template lambda, qui jusqu'à présent fonctionnait sans problème, maintenant vis à vis de ceux je veux faire, il y a peut-être des choses en trop, ou pas assez ?
 
Merci à vous..


Message édité par nuitn0ire le 08-04-2010 à 14:19:45
Reply

Marsh Posté le 08-04-2010 à 14:17:00   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed