Scénario #30667
Annuaire non fonctionnel après la 1er instance en 2.8
Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Target version:
Start date:
12/03/2020
Due date:
12/18/2020
% Done:
100%
Story points:
1.0
Remaining (hours):
0.00 hour
Velocity based estimate:
Release:
Release relationship:
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
Subtasks
History
#1 Updated by Daniel Dehennin almost 3 years ago
- Assigned To set to Daniel Dehennin
- Je reproduis bien le problème avec un
aca.scribe-2.8.0-daily
testsaslauthd
fonctionneroot@scribe:~# testsaslauthd -u admin@domscribe.ac-test.fr -p Eole12345! 0: OK "Success."
- J’ai défini
ldap_loglevel
à-1
avant 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
root
et le groupesasl
peut 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
openldap
est bien ajouté au groupesasl
pendant 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
slapd
redé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
apparmor
lié àslapd
etsaslauthd
root@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 Updated by Daniel Dehennin almost 3 years ago
- Tracker changed from Demande to Scénario
- Description updated (diff)
- Due date set to 12/18/2020
- Target version set to sprint 2020 49-51 Equipe MENSR
- Release set to EOLE 2.8.0
#3 Updated by Daniel Dehennin almost 3 years ago
- Project changed from Distribution EOLE to eole-saslauthd
- Story points set to 1.0
#4 Updated by Joël Cuissinat almost 3 years ago
- Status changed from Nouveau to Terminé (Sprint)