PureFTP借助MySQL实现用户身份验证的操作教程

2019-01-04 16:43:10于海丽

修改pureftp mysql认证文件

vi /usr/local/pureftpd/etc/pureftpd-mysql.conf
MYSQLServer 127.0.0.1 MYSQLPort 3306 MYSQLUser pureftpd MYSQLPassword pureftpd MYSQLDatabase pureftpd MYSQLCrypt cleartext 密码在数据表中的存储方式,这里选择明文用cleartext、加密使用crypt MYSQLGetPW SELECT Password FROM users WHERE User='L' MYSQLGetUID SELECT Uid FROM users WHERE User='L' MYSQLGetGID SELECT Gid FROM users WHERE User='L' MYSQLGetDir SELECT Dir FROM users WHERE User='L' MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User='L' MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User='L'

五、运行pureftpd
添加upload用户,用户名可以任意,但是要对应系统用户的的uid和gid,以获取文件系统的的相关权限

INSERT INTO `users` VALUES (1, 'download','download', '2000', '2000', '/ftproot', 0, 0, 0, 0, 0, 0, '','*', '1', '2013-06-24 16:10:00', '2013-06-24 16:10:00');

添加download用户

INSERT INTO `users` VALUES (2, 'upload','upload', '2001', '2001', '/ftproot', 0, 0, 0, 0, 0, 0, '','*', '1', '2013-06-24 16:10:00', '2013-06-24 16:10:00');

运行pureftpd服务器

/usr/local/pureftpd/bin/pure-config.pl /usr/local/pureftpd/etc/pure-ftpd.conf

现在在客户端使用浏览器打开http://服务器IP:21 使用用户upload和download测试登录

六、用facl实现相同目录不同用户使用不同访问权限

chown -R upload:upload /ftproot chomod 700 /ftproot setfacl -R d:u:download:rx /ftproot

后以后创建的子目录和子文件继承facl

setfacl -R u:download:rx /frptoot

 让当前目录的facl生效

Pureftp表字段说明

CREATE TABLE IF NOT EXISTS `ftpd` ( `User` varchar(16) NOT NULL DEFAULT ” COMMENT ‘用户名', `status` enum(‘0′,'1′) NOT NULL DEFAULT ‘0' COMMENT ‘可用状态:0 – 不可用;1 – 正在使用', `Password` varchar(64) NOT NULL DEFAULT ” COMMENT ‘密码', `Uid` varchar(11) NOT NULL DEFAULT ‘-1′ COMMENT ‘用户ID', `Gid` varchar(11) NOT NULL DEFAULT ‘-1′ COMMENT ‘组ID', `Dir` varchar(128) NOT NULL DEFAULT ” COMMENT ‘拥有的权限路径', `ULBandwidth` smallint(5) NOT NULL DEFAULT ‘0' COMMENT ‘上传带宽', `DLBandwidth` smallint(5) NOT NULL DEFAULT ‘0' COMMENT ‘下载带宽', `comment` tinytext NOT NULL COMMENT ‘备注', `ipaccess` varchar(15) NOT NULL DEFAULT ‘*' COMMENT ‘IP地址', `QuotaSize` smallint(5) NOT NULL DEFAULT ‘0' COMMENT ‘大小配额', `QuotaFiles` int(11) NOT NULL DEFAULT ‘0' COMMENT ‘文件类型配额', PRIMARY KEY (`User`) ) ENGINE=MyISAM DEFAULT CHARSET=gbk COMMENT='ftp用户名密码表';

您可能感兴趣的文章:

php+mysql 实现身份验证代码MySQL验证用户权限的方法MySQL中数据类型的验证php+MySQL实现登录时验证登录名和密码是否正确win7下MySql 5.7安装配置方法图文教程mysql 5.7.30安装配置方法图文教程MySQL安装配置方法教程MySQL学习第一天 第一次接触MySQLMySQL学习第二天 安装和配置mysql winx64MySQL学习第三天 Windows 64位操作系统下验证MySQL