当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : ubunt下配置vsftp用mysql虚拟用户,PAM_mysql认证通过,但无法通过PHP程序来改用户密码!求指点!
帖子发表于 : 2009-04-28 11:57 

注册: 2005-11-25 17:23
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
最近使用ubuntu9.04 server版做了个VSFTP服务器, 使用mysql来保存虚拟用户数据。密码在mysql中使用encrypt函数加密。 VSFTP的密码验证使用pam_mysql来进行, 配置文件中,设定crypt=1 VSFTP工作正常。


现在写了一个php程序,用来让FTP用户自已登陆上来修改自已的密码, 发现, 使用无法用select语语来取得密码。

状态如下,
我的用户数据是用如下insert语句添加:
INSERT INTO user (name, passwd) VALUES ('xxxx', ENCRYPT('xxxx'));
在php程序中,我用如下select语句:
select * from user where name='".$UserName."' and passwd=ENCRYPT('".$UserPass."');
用户和密码填对了也会通不过,通过在sql里直接执行
select * from user where name='xxxx' and passwd=ENCRYPT('xxxx');
报:MySQL 返回的查询结果为空(即零行)。

经过查资料,使用encrypt加密时, 一般会有一个salt 标准的insert语句应该是
INSERT INTO user (name, passwd) VALUES ('xxxx', ENCRYPT('xxxx', 'ab')); 其中后面的ab就是salt
然后
SELECT * FROM user WHERE name='xxxx' AND passwd=ENCRYPT('xxxx', 'ab');
经测式, 如果用在两个语句, 我的php程序能正常, 但ftp的认证就不能通过了。

从上面可以看出, pam_sql在使用crypt=1时,只能验证随机salt的密码, 如果指定salt,就会验证出错。 可如果使用随机salt,php程序又不能通过, 请教各位高手, 我该如何解决这个矛盾???


页首
 用户资料  
 
2 楼 
 文章标题 : Re: ubunt下配置vsftp用mysql虚拟用户,PAM_mysql认证通过,但无法通过PHP程序来改用户密码!求指点!
帖子发表于 : 2009-04-28 12:39 

注册: 2005-11-25 17:23
帖子: 9
送出感谢: 0 次
接收感谢: 0 次
mysql> select encrypt('guo');
+----------------+
| encrypt('guo') |
+----------------+
| hP1BWZ3YJ4UFA |
+----------------+
1 row in set (0.00 sec)

mysql> select encrypt('guo');
+----------------+
| encrypt('guo') |
+----------------+
| mPCVIhhUICE4w |
+----------------+
1 row in set (0.00 sec)

mysql> select encrypt('guo');
+----------------+
| encrypt('guo') |
+----------------+
| xRKE10.nQysz. |
+----------------+
1 row in set (0.00 sec)


看, 如果不指定salt的话, 每次得到的密文都是不一样的, 真搞不懂pam_mysql是如何验证的。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: ubunt下配置vsftp用mysql虚拟用户,PAM_mysql认证通过,但无法通过PHP程序来改用户密码!求指点!
帖子发表于 : 2009-04-28 23:59 
头像

注册: 2006-03-10 11:10
帖子: 66
地址: 广东 深圳
送出感谢: 0 次
接收感谢: 0 次
我直接用的 crypt=2 PASSWORD()

crypt=1 貌似是 DES_ENCRYPT()


页首
 用户资料  
 
4 楼 
 文章标题 : Re: ubunt下配置vsftp用mysql虚拟用户,PAM_mysql认证通过,但无法通过PHP程序来改用户密码!求指点!
帖子发表于 : 2009-07-17 14:46 

注册: 2007-10-12 19:55
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
能详细说说具体的过程吗?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译