linux – 如何使用随机盐设置带有sql驱动程序和mysql加密的roundcube密码插件?

前端之家收集整理的这篇文章主要介绍了linux – 如何使用随机盐设置带有sql驱动程序和mysql加密的roundcube密码插件?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个postfix安装和配置的邮件服务器,如 http://flurdy.com/docs/postfix/index.html所示.
我使用MysqL数据库maildb与表用户有两个文件ID =’user@domain.com’和crypt =’salted_md5_hash’.使用如下查询更新密码:
  1. UPDATE users SET crypt = ENCRYPT('apassword',CONCAT('$5$',MD5(RAND()))) WHERE id = 'user@domain.tld';

Roundcube 1.0-RC根据http://trac.roundcube.net/wiki/Howto_Install安装

如何设置roundcube密码插件以使用上述安装?

解决方法

编辑roundcube main config.inc.PHP并将插件名称’password’添加到plugins array(),如下所示,以激活插件
  1. // List of active plugins (in plugins/ directory)
  2. $config['plugins'] = array('password');

您还可以记下圆形立方体使用的DSN连接到’roundcube’MysqL数据库$config [‘db_dsnw’] =’MysqL:// user:pass @ localhost / roundcube’

cd into … / roundcube_www_root / plugins / password /并创建config.inc.PHP

  1. # cp config.inc.PHP.dist config.inc.PHP
  2. # vi config.inc.PHP

编辑密码插件的config.inc.PHP中的以下行:

  1. <?PHP
  2.  
  3. $config['password_driver'] = 'sql';
  4. $config['password_confirm_current'] = true;
  5. $config['password_minimum_length'] = 8;
  6. $config['password_require_nonalpha'] = false;
  7. $config['password_log'] = false;
  8. $config['password_login_exceptions'] = null;
  9. // If the server is accessed via fqdn,replace localhost by the fqdn:
  10. $config['password_hosts'] = array('localhost');
  11. $config['password_force_save'] = true;
  12.  
  13. // sql Driver options
  14. $config['password_db_dsn'] = 'MysqL://user:pass@localhost/maildb';
  15.  
  16. // sql Update Query with encrypted password using random 8 character salt
  17. $config['password_query'] = 'UPDATE users SET crypt=ENCRYPT(%p,CONCAT(_utf8\'$5$\',RIGHT(MD5(RAND()),8),_utf8\'$\')) WHERE id=%u LIMIT 1';
  18.  
  19. ...

更新:在某些情况下,localhost似乎无法工作,需要由Terry报告的127.0.0.1替换

更新:我最近不得不将圆形主机主配置(config / config.inc.PHP)中的参数$config [‘default_host’]更改为fqdn而不是localhost.因此我不得不将插件配置(plugins / password / config.inc.PHP)中的参数$config [‘password_hosts’]更改为服务器fqdn.

有关详细信息,请参阅… / plugins / password / README和… / plugins / password / config.inc.PHP.dist.

假设您将使用相同的MysqL用户作为密码插件来更新密码,您必须将’maildb’中的’users’表的GRANT SELECT和UPDATE权限授予’roundcube’MysqL用户

  1. # MysqL -u root -p
  2. MysqL > GRANT SELECT,UPDATE ON maildb.users TO 'roundcube'@'localhost';
  3. MysqL > FLUSH PRIVILEGES;
  4. MysqL > quit
  5. #

而已.如果遇到问题,请关闭roundcube错误日志:

  1. # tail -f ../../logs/error

猜你在找的Linux相关文章