Hello,
J’ai suivi ce tuto, concernant la configuration de PAM pour ldap, tout fonctionne très bien.
Je me suis fais un script me permettant d’ajouter simplement un utilisateur (grosso modo, mon script pose des questions (quel nom, groupe, gid, uid, homedirectory, etc…) et il génère un ldif qu’il soumet ensuite au serveur. Très pratique.
Mon script vérifie quand même que l’uid que j’entre n’existe pas déjà (il contrôle le résultat d’un getent passwd et renvoi 1 si l’uid est déjà pris, 0 si c’est pas le cas et continue). Ca aussi, ça fonctionne très bien.
Maintenant, je voudrais rajouter un paramètre au compte que je créé, mais avant tout, regardez le ldif d’un compte type :
[quote]dn: uid=coldroom,ou=People,dc=pwet,dc=org
uid: coldroom
cn: coldroom
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
shadowLastChange: 14665
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1004
gecos: coldroom,
homeDirectory: /home/coldroom
userPassword: coldroom
gidNumber: 1004[/quote]
Je voudrais ajouter la possibilité suivante : Si un utilisateur est du type administrateur, il peut se loguer sur tel serveur et pas sur d’autre.
Pour faire ceci, je dois déjà dans le compte définir si mon utilisateur est administrateur ou non. Donc ma première question est : comment créer ce type de paramètre ? J’ai pensé à un booléen genre “admin : 1/0” que je rajouterais dans mon ldif en fonction de la réponse à la question “administrateur ou non”.
Donc rien que pour ça, il faudrait que je créé un nouvel attribut à mon template ldap User Account. 1) Comment faire ça proprement ?
Une fois que mon attribut est dans le compte, ça me fait une belle jambe, je ne sais toujours pas l’interpréter ! Quand je me connecter avec mon compte, toutes les infos sont traitées, sauf justement ce nouvel attribut. 2) Comment faire pour que lorsque je me log, mon nouvel attribut “admin” soit pris en compte et traité, en fonction de quoi je l’autorise ou non à accéder à la machine ?