Freedom 3.0 corrige une utilisation non-standard de la fonction crypt() et lors de la première connexion, un changement de mot de passe peut vous être demandé si votre mot de passe stocké en base a été généré de manière non-standard.
Cette modification n'impacte pas les systèmes configurés pour s'authentifier sur LDAP/Active Directory avec `freedom-networkuser'.
Pour avoir la liste des comptes qui sont impactés par cette modification, vous pouvez exécuter la requêtes SQL suivante sur la table `users' :
freedom=# SELECT login,password FROM users WHERE isgroup = 'N' AND password !~ '^[a-zA-Z0-9./]{2}';
login | password
-------------------+---------------
admin | A^1ul2Jf7VS2M
[...]
Ces comptes devront donc changer leur mot de passe lors de la première connexion à Freedom.
La ré-initialisation du mot de passe se fait par mail, avec la le lien “mot de passe oublié ?” sur la page de login. Pour cela, il faut s'assurer que le compte de l'utilisateur soit configuré avec une adresse mail valide.
Si le compte n'a pas d'adresse mail correcte, il faudra alors soit changer son mot de passe en tant qu'admin, soit ajouter une adresse mail au compte, et laisser l'utilisateur dérouler la procédure de changement de mot de passe.
Si c'est le compte admin qui est impacter, alors il faudra soit changer le mot de passe directement en base, soit ajouter une adresse mail valide au compte admin, en suivants les procédures ci-dessous.
Obtenir la forme chiffré de votre mot de passe :
# php -r 'print crypt("secret", "aa")."\n";'
aa3kxsKzvuQMc
La chaîne “secret” est le mot de passe que vous voulez chiffrer, et “aa” est le « salt » qui doit être une chaîne de deux caractères pris dans le set ”./a-zA-Z0-9”.
Modifier le mot de passe dans la table `users' :
freedom=# UPDATE users SET password = 'aa3kxsKzvuQMc' WHERE login = 'admin';
Ajouter une adresse mail au compte `admin' pour pouvoir suivre la procédure de ré-initialisation par e-mail :
freedom=# UPDATE users SET mail = 'admin@example.net' WHERE login = 'admin';