Scénario #30667
Annuaire non fonctionnel après la 1er instance en 2.8
Statut:
Terminé (Sprint)
Priorité:
Normal
Assigné à:
Version cible:
Début:
03/12/2020
Echéance:
18/12/2020
% réalisé:
100%
Points de scénarios:
1.0
Restant à faire (heures):
0.00 heure
Estimation basée sur la vélocité:
Release:
Liens avec la release:
Auto
Description
Problème¶
Si je démarre un aca.scribe daily avec :
root@scribe:~# /root/mount.eole-ci-tests root@scribe:~# /mnt/eole-ci-tests/scripts/configure-vm.sh -M instance -C default Monte CDROM de CONTEXT dans /mnt/cdrom (Ubuntu) Inject /usr/share/eole dans PATH Inject /mnt/eole-ci-tests/scripts/monitor3 dans PYTHONPATH [..]
Après l'instance :
root@scribe:~# ldapsearch -D uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr -w Eole12345! ldap_bind: Invalid credentials (49) root@scribe:~# systemctl restart slapd.service root@scribe:~# ldapsearch -D uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr -w Eole12345! # extended LDIF # # LDAPv3 # base <o=gouv,c=fr> (default) with scope subtree [..]
Pas de problème observer après un reconfigure ou un redémarrage.
Proposition¶
Il faut renommer le script posttemplate/30-ldap-sasl pour qu’il s’exécute avant posttemplate/02-annuaire.
Critère d’acceptation¶
- Démarrer une machine virtuelle
aca.scribe-2.8.0-daily - Exécuter la commande
/root/mount.eole-ci-tests
- Exécuter la commande
/mnt/eole-ci-tests/scripts/configure-vm.sh -M instance -C default
- Exécuter la commande
ldapsearch -o ldif-wrap=no -LLL -D uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr -w Eole12345! uid=admin dn
Vous devez obtenir le résultat suivant :
dn: uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr
Sous-tâches
Historique
#1 Mis à jour par Daniel Dehennin il y a plus de 5 ans
- Assigné à mis à Daniel Dehennin
- Je reproduis bien le problème avec un
aca.scribe-2.8.0-daily testsaslauthdfonctionneroot@scribe:~# testsaslauthd -u admin@domscribe.ac-test.fr -p Eole12345! 0: OK "Success."
- J’ai défini
ldap_loglevelà-1avant l’instance, du coup j’obtiens les messages suivants dans les logs lorsque j’essaye la commande LDAPldapsearch -D uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr -w Eole12345!déc. 03 14:05:32 scribe slapd[37234]: <<< dnPrettyNormal: <uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr>, <uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000a,ou=ac-test,ou=education,o=gouv,c=fr> déc. 03 14:05:32 scribe slapd[37234]: conn=1174 op=0 BIND dn="uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" method=128 déc. 03 14:05:32 scribe slapd[37234]: do_bind: version=3 dn="uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" method=128 déc. 03 14:05:32 scribe slapd[37234]: ==> bdb_bind: dn: uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr déc. 03 14:05:32 scribe slapd[37234]: bdb_dn2entry("uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000a,ou=ac-test,ou=education,o=gouv,c=fr") déc. 03 14:05:32 scribe slapd[37234]: => access_allowed: result not in cache (userPassword) déc. 03 14:05:32 scribe slapd[37234]: => access_allowed: auth access to "uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" "userPassword" requested déc. 03 14:05:32 scribe slapd[37234]: => acl_get: [1] attr userPassword déc. 03 14:05:32 scribe slapd[37234]: => acl_mask: access to entry "uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr", attr "userPassword" requested déc. 03 14:05:32 scribe slapd[37234]: => acl_mask: to value by "", (=0) déc. 03 14:05:32 scribe slapd[37234]: <= check a_dn_pat: self déc. 03 14:05:32 scribe slapd[37234]: <= check a_dn_pat: anonymous déc. 03 14:05:32 scribe slapd[37234]: <= acl_mask: [2] applying auth(=xd) (stop) déc. 03 14:05:32 scribe slapd[37234]: <= acl_mask: [2] mask: auth(=xd) déc. 03 14:05:32 scribe slapd[37234]: => slap_access_allowed: auth access granted by auth(=xd) déc. 03 14:05:32 scribe slapd[37234]: => access_allowed: auth access granted by auth(=xd) déc. 03 14:05:32 scribe slapd[37234]: SASL Canonicalize [conn=1174]: authcid="admin@domscribe.ac-test.fr" déc. 03 14:05:32 scribe slapd[37234]: SASL [conn=1174] Failure: cannot connect to saslauthd server: Permission denied - La configuration LDAP tente de se connecter sur la socket :
root@scribe:~# cat /etc/ldap/sasl2/slapd.conf pwcheck_method: saslauthd saslauthd_path: /var/run/saslauthd/mux
- Le répertoire est restreint à l’utilisateur
rootet le groupesaslpeut traverser le répertoireroot@scribe:~# ls -ld /var/run/saslauthd/ drwx--x--- 2 root sasl 140 déc. 3 11:59 /var/run/saslauthd/
- La socket est accessible par tout le monde
root@scribe:~# ls -l /var/run/saslauthd/mux srwxrwxrwx 1 root root 0 déc. 3 11:59 /var/run/saslauthd/mux
- L’utilisateur
openldapest bien ajouté au groupesaslpendant leposttemplate:run-parts: executing /usr/share/eole/posttemplate/30-ldap-sasl instance Adding openldap in group sasl Ajout de l'utilisateur « openldap » au groupe « sasl »... Ajout de l'utilisateur openldap au groupe sasl Fait.
- Une fois
slapdredémarrédéc. 03 14:22:40 scribe slapd[56798]: <<< dnPrettyNormal: <uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr>, <uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000a,ou=ac-test,ou=education,o=gouv,c=fr> déc. 03 14:22:40 scribe slapd[56798]: conn=1005 op=0 BIND dn="uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" method=128 déc. 03 14:22:40 scribe slapd[56798]: do_bind: version=3 dn="uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" method=128 déc. 03 14:22:40 scribe slapd[56798]: ==> bdb_bind: dn: uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr déc. 03 14:22:40 scribe slapd[56798]: bdb_dn2entry("uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000a,ou=ac-test,ou=education,o=gouv,c=fr") déc. 03 14:22:40 scribe slapd[56798]: => access_allowed: result not in cache (userPassword) déc. 03 14:22:40 scribe slapd[56798]: => access_allowed: auth access to "uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" "userPassword" requested déc. 03 14:22:40 scribe slapd[56798]: => acl_get: [1] attr userPassword déc. 03 14:22:40 scribe slapd[56798]: => acl_mask: access to entry "uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr", attr "userPassword" requested déc. 03 14:22:40 scribe slapd[56798]: => acl_mask: to value by "", (=0) déc. 03 14:22:40 scribe slapd[56798]: <= check a_dn_pat: self déc. 03 14:22:40 scribe slapd[56798]: <= check a_dn_pat: anonymous déc. 03 14:22:40 scribe slapd[56798]: <= acl_mask: [2] applying auth(=xd) (stop) déc. 03 14:22:40 scribe slapd[56798]: <= acl_mask: [2] mask: auth(=xd) déc. 03 14:22:40 scribe slapd[56798]: => slap_access_allowed: auth access granted by auth(=xd) déc. 03 14:22:40 scribe slapd[56798]: => access_allowed: auth access granted by auth(=xd) déc. 03 14:22:40 scribe slapd[56798]: SASL Canonicalize [conn=1005]: authcid="admin@domscribe.ac-test.fr" déc. 03 14:22:40 scribe slapd[56798]: conn=1005 op=0 BIND dn="uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" mech=SIMPLE ssf=0 déc. 03 14:22:40 scribe slapd[56798]: do_bind: v3 bind: "uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" to "uid=admin,ou=local,ou=personnels,ou=utilisateurs,ou=0000000A,ou=ac-test,ou=education,o=gouv,c=fr" - Aucun message d’erreur
apparmorlié àslapdetsaslauthdroot@scribe:~# dmesg | grep slapd [ 2.910231] audit: type=1400 audit(1606992512.588:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/sbin/slapd" pid=497 comm="apparmor_parser" [ 589.590422] audit: type=1400 audit(1606993100.095:70): apparmor="DENIED" operation="connect" profile="/usr/sbin/slapd" name="/run/samba/winbindd/pipe" pid=37233 comm="slapd" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0 [ 9215.652874] audit: type=1400 audit(1607001726.453:81): apparmor="DENIED" operation="connect" profile="/usr/sbin/slapd" name="/run/samba/winbindd/pipe" pid=56797 comm="slapd" requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0
C’est comme-ci le service slapd, démarré avec l’utilisateur openldap, n’est pas associé au groupe sasl. Chose qui est corrigé par un redémarrage du service.
En fait, cela vient du fait que le service slapd est démarré par /usr/share/eole/posttemplate/02-annuaire, ainsi :
- Le service n’est pas associé au groupe
sasl - Le service n’est pas redémarré au démarrage des service car il est déjà fonctionnel
#2 Mis à jour par Daniel Dehennin il y a plus de 5 ans
- Tracker changé de Demande à Scénario
- Description mis à jour (diff)
- Echéance mis à 18/12/2020
- Version cible mis à sprint 2020 49-51 Equipe MENSR
- Release mis à EOLE 2.8.0
#3 Mis à jour par Daniel Dehennin il y a plus de 5 ans
- Projet changé de Distribution EOLE à eole-saslauthd
- Points de scénarios mis à 1.0
#4 Mis à jour par Joël Cuissinat il y a plus de 5 ans
- Statut changé de Nouveau à Terminé (Sprint)