pureftpd auth使用crypt sha512

我已经安装了pure-ftpd-mysql,并且可以使用md5密码散列。 这不是很安全,所以我想用sha512,我在鸽舍里使用的方式使用地穴。

如何在pure-ftpd中设置这个?

使用sha512通过创build新用户:

INSERT INTO `ftpd` (`User`, `status`, `Password`, `Uid`, `Gid`, `Dir`, `ULBandwidth`, `DLBandwidth`, `comment`, `ipaccess`, `QuotaSize`, `QuotaFiles`) VALUES ('MyUserName', '1', ENCRYPT('_mypassword_', CONCAT('$6$', SUBSTRING(SHA(RAND()), -16))), '2001', '2001', '/var/www/test', '100', '100', '', '*', '50', '0'); 

configuration文件中的值:

 MYSQLCrypt md5 MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R") 

所以我的问题是我需要在configuration文件中使用上述方法生成的密码。

我认为改变MYSQLCryptcrypt应该是足够的。 但是这不起作用。

万一其他方法不起作用手册介绍了如何创build一个authentication模块http://download.pureftpd.org/pure-ftpd/doc/README.Authentication-Modules (但我该如何启用它?)

pure-ftpd-mysql支持sha512 crypt与盐。

这很简单:

 MYSQLCrypt crypt 

确保您的Password栏足够长。 对于crypt $ 6 $,这是106个字符。

所以处理查询的表结构可能是这样的:

 CREATE TABLE ftpd ( User varchar(16) NOT NULL default '', status enum('0','1') NOT NULL default '0', Password varchar(106) NOT NULL default '', Uid varchar(11) NOT NULL default '-1', Gid varchar(11) NOT NULL default '-1', Dir varchar(128) NOT NULL default '', ULBandwidth smallint(5) NOT NULL default '0', DLBandwidth smallint(5) NOT NULL default '0', comment tinytext NOT NULL, ipaccess varchar(15) NOT NULL default '*', QuotaSize smallint(5) NOT NULL default '0', QuotaFiles int(11) NOT NULL default 0, PRIMARY KEY (User), UNIQUE KEY User (User) ) ENGINE=MyISAM;