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

我有一个postfix安装和配置的邮件服务器,如 http://flurdy.com/docs/postfix/index.html所示.
我使用MysqL数据库maildb与表用户有两个文件ID =’user@domain.com’和crypt =’salted_md5_hash’.使用如下查询更新密码:
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(),如下所示,以激活插件
// List of active plugins (in plugins/ directory)
$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

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

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

<?PHP

$config['password_driver'] = 'sql';
$config['password_confirm_current'] = true;
$config['password_minimum_length'] = 8;
$config['password_require_nonalpha'] = false;
$config['password_log'] = false;
$config['password_login_exceptions'] = null;
// If the server is accessed via fqdn,replace localhost by the fqdn:
$config['password_hosts'] = array('localhost');
$config['password_force_save'] = true;

// sql Driver options
$config['password_db_dsn'] = 'MysqL://user:pass@localhost/maildb';

// sql Update Query with encrypted password using random 8 character salt
$config['password_query'] = 'UPDATE users SET crypt=ENCRYPT(%p,CONCAT(_utf8\'$5$\',RIGHT(MD5(RAND()),8),_utf8\'$\')) WHERE id=%u LIMIT 1';

...

更新:在某些情况下,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用户

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

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

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

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...