tech:pb_vio_openstack_encoding_ldap_non-acsii_or_extended_ascii_char

Pb VIO OpenStack encoding LDAP non-ACSII or Extended_ASCII char

Le problème est lié aux caractères spéciaux présent dans l'AD. Pour information : même pb pour tous les utilisateurs présents dans l'OU “Int\C3\A9gration”

$ openstack role assignment list --user userok --name --effective --user-domain aaa
+--------+------------+-------+---------+--------+-----------+
| Role   | User       | Group | Project | Domain | Inherited |
+--------+------------+-------+---------+--------+-----------+
| member | USEROK@aaa |       | ovs@aaa |        | False     |
| reader | USEROK@aaa |       | ovs@aaa |        | False     |
+--------+------------+-------+---------+--------+-----------+

$ openstack role assignment list --user nokuser1 --name --effective --user-domain aaa
Internal Server Error (HTTP 500)

$ echo |ldapsearch -E pr=1000 -D "adminde" -y ~/.ldap_pass sAMAccountName |grep USEROK
# USEROK Jean, Utilisateurs, Infra 
dn: CN=USEROK Jean,OU=Utilisateurs,OU=Infra
sAMAccountName: USEROK

$ echo |ldapsearch -E pr=1000 -D "adminde" -y ~/.ldap_pass sAMAccountName |grep NOKUSER1
# NOKUSER1 Ga\C3\ABl, Utilisateurs, Dev,
sAMAccountName: NOKUSER1

$ echo |ldapsearch -E pr=1000 -D "adminde" -y ~/.ldap_pass sAMAccountName |grep NOKUSER2
# NOKUSER2 Robert, Utilisateurs, Int\C3\A9gration
sAMAccountName: NOKUSER2

Faisons une liste d'utilisateur OK, Non_OK et OWNI si ni l'un ni l'autre.

#! /bin/bash
 
> user_bad.txt
> user_ok.txt
> user_owni.txt
 
DOMAIN=aaa
for USER in $(openstack user list --domain "$DOMAIN" -c Name -f value)
do
        openstack role assignment list --user "$USER" --name --effective --user-domain "$DOMAIN"
        RET=$?
        echo -e "$USER \t $RET"
        if [[ RET -eq 1 ]]
        then
                echo "$USER" >> user_NonOK.txt
        elif [[ RET -eq 0 ]]
        then
                echo "$USER" >> user_ok.txt
        else
                echo -e "$USER \t $RET" >> user_owni.txt
        fi
done

Nous n'avons aucun OWNI.Tant mieux.

Note : Il faut enlever les '-LL' et '-LLL' à ldapsearch

echo |ldapsearch -E pr=1000 -D admin -y ~/.ldap_pass -o ldif-wrap=no "(memberOf=CN=Openstack,OU=Groupes,DC=aaa,DC=local)" |grep --color '\\C'

Tous les NonOK correspond à ceux contenant des caractères Non_ASCII ou Extended_ASCII

# NOKUSER1 Ga\C3\ABl, Utilisateurs, dev, aaa.local
# NOKUSER2 Robert, Utilisateurs, Int\C3\A9gration, aaa.local

Pour l'encodage voir : 'URL encoding / Percent encoding'

tech/pb_vio_openstack_encoding_ldap_non-acsii_or_extended_ascii_char.txt · Dernière modification : de 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki