iredmail-doc/howto/reset.user.password.md

1000 B

Reset user password

With MySQL or PostgreSQL backends, you can generate a password hash with openssl or doveadm command first, then replace old one with this newly generated one.

For example:

  • Generate a salted MD5 password hash with openssl (plain password is 123456 in this case):
$ openssl passwd -1 123456
$1$2dQ48hyz$.mCLeDSdPkP3fxVmARsB.0

Or, generate password hash with doveadm:

$ doveadm pw -s 'ssha' -p '123456'
{SSHA}MU5Y8OfD9HylnHk4UQaVyaJf6Lugx6vt
  • Reset password for user user@domain.ltd and another-user@domain.ltd:
sql> USE vmail;
sql> UPDATE mailbox SET password='$1$2dQ48hyz$.mCLeDSdPkP3fxVmARsB.0' WHERE username='user@domain.ltd';
sql> UPDATE mailbox SET password='{SSHA}MU5Y8OfD9HylnHk4UQaVyaJf6Lugx6vt' WHERE username='another-user@domain.ltd';

With OpenLDAP backend, you can reset it with phpLDAPadmin or other LDAP client tools, SSHA is preferred.

Reference: how to use or migrate password hashes