2016-05-19 06:51:20 -05:00
<!DOCTYPE html>
2015-08-19 08:11:02 -05:00
< html >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< title > 重置用户密码< / title >
2016-04-21 23:33:25 -05:00
< link rel = "stylesheet" type = "text/css" href = "./css/markdown.css" / >
2015-08-19 08:11:02 -05:00
< / head >
< body >
< div id = "navigation" >
2016-04-19 12:48:51 -05:00
< a href = "/index.html" target = "_blank" >
< img alt = "iRedMail web site"
2016-04-21 23:33:25 -05:00
src="./images/logo-iredmail.png"
2016-04-19 12:48:51 -05:00
style="vertical-align: middle; height: 30px;"
/>
< span > iRedMail< / span >
< / a >
2016-04-21 23:33:25 -05:00
// < a href = "./index.html" > Document Index< / a > < / div > < div class = "admonition note" >
2016-11-11 02:56:08 -06:00
< p class = "admonition-title" > This tutorial is available in other languages. < a href = "https://bitbucket.org/zhb/iredmail-docs/src" > Help translate more< / a > < / p >
2016-04-24 09:21:04 -05:00
< p > < a href = "./reset.user.password.html" > English< / a > /< / p >
2016-04-21 23:33:25 -05:00
< / div >
< h1 id = "_1" > 重置用户密码< / h1 >
2015-08-19 08:11:02 -05:00
< blockquote >
< ul >
< li > SQL 版本推荐使用 SSHA512 密码。没有特殊情况请不要使用 MD5 密码。< / li >
< li > BSD 系统的 SQL 后端推荐使用 BCRYPT 密码。< / li >
< / ul >
< / blockquote >
< p > 对于 MySQL 或者 PostgreSQL 后端,可以使用 < code > openssl< / code > 或 < code > doveadm< / code > 命令来生成
密码,然后用它替换掉旧密码。< / p >
< p > 例如:使用 < code > doveadm< / code > 命令生成一个 SSHA512 密码:< / p >
< pre > < code > $ doveadm pw -s 'ssha512' -p '123456'
{SSHA512}jOcGSlKEz95VeuLGecbL0MwJKy0yWY9foj6UlUVfZ2O2SNkEExU3n42YJLXDbLnu3ghnIRBkwDMsM31q7OI0jY5B/5E=
< / code > < / pre >
2015-08-27 23:00:00 -05:00
< p > 要生成 MD5 密码,可以使用 < code > doveadm< / code > 或 < code > openssl< / code > 命令:< / p >
2015-09-11 05:39:51 -05:00
< pre > < code > # doveadm pw -s 'MD5' -p '123456' | awk -F'{MD5}' '{print $2}'
$1$TDG8oXHb$6YB9NO5NZaZxku0xv6RsW0
2015-08-27 23:00:00 -05:00
# openssl passwd -1 123456
2015-08-28 21:27:37 -05:00
$1$TDG8oXHb$6YB9NO5NZaZxku0xv6RsW0
2015-08-27 23:00:00 -05:00
< / code > < / pre >
2015-08-28 21:27:37 -05:00
< blockquote >
2015-09-11 05:39:51 -05:00
< p > < strong > 注意< / strong > : SOGo groupware 不支持不带前缀的 md5 密码,所以如果要兼容 SOGo,
2015-08-28 21:27:37 -05:00
请在 MD5 密码前添加一个 < code > {CRYPT}< / code > 前缀。例如:
< code > {CRYPT}$1$TDG8oXHb$6YB9NO5NZaZxku0xv6RsW0< / code > .< / p >
< / blockquote >
2015-08-19 08:11:02 -05:00
< ul >
< li > 为用户 < code > user@domain.ltd< / code > 重置密码:< / li >
< / ul >
< pre > < code > sql> USE vmail;
sql> UPDATE mailbox SET password='{SSHA512}jOcGSlKEz95VeuLGecbL0MwJKy0yWY9foj6UlUVfZ2O2SNkEExU3n42YJLXDbLnu3ghnIRBkwDMsM31q7OI0jY5B/5E=' WHERE username='user@domain.ltd';
< / code > < / pre >
< p > OpenLDAP 后端用户可以使用 phpLDAPadmin 或其它 LDAP 客户端工具。如果有其它
程序需要通过 LDAP 做验证,建议使用 < code > SSHA< / code > 密码以保证通用性,不是所有程序都支持
SSHA512。< / p >
< p > 作为一种临时方案,可以重置为明文密码,然后立即登录 Roundcube webmail 或
启用了自助服务 (self-service) 功能的 iRedAdmin-Pro 修改密码。
例如:< / p >
2015-08-26 23:51:21 -05:00
< pre > < code > sql> USE vmail;
sql> UPDATE mailbox SET password='{PLAIN}123456' WHERE username='user@domain.ltd';
2015-08-19 08:11:02 -05:00
< / code > < / pre >
< h2 id = "_2" > 参考资料< / h2 >
< ul >
< li > < a href = "./password.hashes.html" > iRedMail 支持的哈希密码< / a > < / li >
2016-05-19 06:51:20 -05:00
< / ul > < div class = "footer" >
< p style = "text-align: center; color: grey;" > All documents are available in < a href = "https://bitbucket.org/zhb/iredmail-docs/src" > BitBucket repository< / a > , and published under < a href = "http://creativecommons.org/licenses/by-nd/3.0/us/" target = "_blank" > Creative Commons< / a > license. You can < a href = "https://bitbucket.org/zhb/iredmail-docs/get/tip.tar.bz2" > download the latest version< / a > for offline reading. If you found something wrong, please do < a href = "http://www.iredmail.org/contact.html" > contact us< / a > to fix it.< / p >
< / div >
< script type = "text/javascript" >
2015-08-19 08:11:02 -05:00
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-3293801-21', 'auto');
ga('send', 'pageview');
< / script >
< / body > < / html >