[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: strano problemino con stringhe base64



On 3/12/24 14:44, Diego Zuccato wrote:
Mah, ma me pare che funzioni rimuovendo la parte '-e "s/$container_ns/$container_ab/"' che non posso testare in quanto non so cosa ci sia nelle variabili container_ns e container_ab . Magari c'è qualcosa di strano che interferisce?

hai ragione, non lo puoi verificare e mi scuso, comunque ho risolto. Questo codice ora funziona:

ldapsearch -LLL \
    -D "$bind_ns" \
    -w "$pwd_ns" \
    -b "$baseaddress_ns" \
    -H "ldaps://ad.mydomain.ext" \
'(&(objectClass=user)(!(isCriticalSystemObject=TRUE))(!(logonCount=0))(memberOf=CN=utenti,CN=Users,DC=ad,DC=mydomain,DC=ext))' \
    sAMAccountName displayName userPrincipalName | \
    sed -e 's/userPrincipalName:/mail:/' \
        -e "s/$container_ns/$container_ab/" \
        -e "s/sAMAccountName:\ \(.*\)/cn: \1/" \
        -e "s/displayName:[[:space:]]*\([[:print:]]*\)$/displayName: \1\nsn: \1\nou: utenti\nobjectClass: top\nobjectClass: inetOrgPerson/"> $ldap_ns_path

in cui mi limito a prendere tutti i caratteri stampabili invece di prendere tutti i caratteri dopo displayName:[[:space:]].

Ora l'utente incriminato viene restituito come:

dn: CN=enicolo,OU=UsersAndGroups,DC=ad,DC=mydomain,DC=ext
cn: enicolo
mail: enicolo@mydomain.ext
displayName: : Tmljb2zDsiBFZG9hcmRv
sn: : Tmljb2zDsiBFZG9hcmRv
ou: utenti
objectClass: top
objectClass: inetOrgPerson

Mi rimane solo da decodificare displayName e sn, stringhe in bas64... per fortuna ldapsearch aggiunge ":" alle stringhe codificate in bas64 così supponendo che non ci siano ":" nei campi restituiti da ldapsearch  (sAMAccountName, displayName e userPrincipalName) l'ho risolto così:

ifs=$IFS
IFS="
"
for r in $(grep displayName $ldap_ns_path); do
    dn64=$(echo $r | cut -f3 -d: | grep -o "[^[:space:]]*")
    [ -z "$dn64" ] && continue
    dn=$(echo $dn64 | base64 -i --decode)
    sed -i "s/: $dn64/$dn/" $ldap_ns_path
done
IFS=$ifs

Grazie per la pazienza

Piviul


Reply to: