免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: wolfg
打印 上一主题 下一主题

[FTP] pam_mysql 安装配置总结 (结合vsftpd) [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-12-12 23:26 |只看该作者
好文,学习了

论坛徽章:
0
22 [报告]
发表于 2009-01-12 09:18 |只看该作者
用虚拟用户登录不了, 是什么问题呢?好像也是找不到用户名。

Jan 12 09:12:09 hc vsftpd: pam_mysql - option verbose is set to "1"
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_mysql_close_db() called.
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_sm_authenticate() called.
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_mysql_open_db() called.
Jan 12 09:12:09 hc vsftpd: pam_mysql - MySQL error (Access denied for user 'root'@'localhost' (using password: YES))
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_mysql_open_db() returning 5.
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_sm_authenticate() returning 9.
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_mysql_release_ctx() called.
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_mysql_destroy_ctx() called.
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_mysql_close_db() called.d
-------
/etc/pam.d/vsftpd.mysql是
auth   required      /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
account  required      /lib/security/pam_mysql.so user=root passwd=123456 host=localhost db=vsftpd table=users usercolumn=name passwdcolumn=passwd crypt=2 sqllog=1 logtable=logs logmsgcolumn=msg logusercolumn=user logpidcolumn=pid loghostcolumn=host logrhostcolumn=rhost logtimecolumn=logtime verbose=1
---
/etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
#pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

-----
/etc/vsftpd/vsftpd.mysql.conf
pam_service_name=vsftpd.mysql
listen=YES
tcp_wrappers=YES
local_enable=YES
guest_enable=YES
guest_username=ftp
listen_port=2121

论坛徽章:
0
23 [报告]
发表于 2009-11-01 18:35 |只看该作者
感谢党,感谢CCTV,感谢BBS.ChinaUnix.net,感谢wolfg老大
你的文章太精彩了,按照你的方法成功实现

把我这几天实验vsftpd的经验也分享一下,如果有相同问题的朋友可以参考一下

环境:CentOS 5.4
vsftpd mysql 都是CentOS 5.4自带的
本人很懒,没有出问题的我就不说了,请看下面这段

mysql> select encrypt('foo');
+----------------+
| encrypt('foo') |
+----------------+
| 4Wwn2AXFYb.So  |
+----------------+

mysql> select password('foo');
+-------------------------------------------+
| password('foo')                           |
+-------------------------------------------+
| *F3A2A51A9B0F2BE2468926B4132313728C250DBF |
+-------------------------------------------+

mysql> select md5('foo');
+----------------------------------+
| md5('foo')                       |
+----------------------------------+
| acbd18db4cc2f85cedef654fccc4a4d8 |
+----------------------------------+
如果你看到的数据与上面不符,那么就要引起注意了,因为这样会导至数据库用户登陆不了,这个问题的原因所在就是/etc/my.cnf中的old_password=1改为0就行了,当然你的数据库vsftpd也要重新创建

再看这段
建立/etc/vsftpd/vsftpd.mysql.conf(同样,不影响已有的vsftpd服务,执行service vsftpd restart时会启动两个vsftpd服务,端口不一样)
主要的设置如下:


[Copy to clipboard] [ - ]
CODE:
  pam_service_name=vsftpd.mysql
    listen=YES
    tcp_wrappers=YES
    local_enable=YES
    guest_enable=YES
    guest_username=ftp
    listen_port=2121

经过我反复测试如果单用vsftpd.mysql.conf上面这段代码,那么可以正常本地登陆,但是会出现421错误,win32窗口下也登陆不了,所以还是要配合/etc/vsftpd/vsftpd.conf文件,具体那个地方导致的,我没有深入研究,只是把pam_service_name=vsftpd.mysql以及guest_username=ftp这两段加到了原始的/etc/vsftpd/vsftpd.conf文件里就成功了

继续下面的
/etc/security/pam_mysql.conf的内容:

users.host=localhost
users.database=vsftpd
users.db_user=root
users.db_passwd=123456
users.table=users
users.user_column=name
users.password_column=passwd
users.password_crypt=3
verbose=1
log.enabled=1
log.table=logs
log.message_column=msg
log.pid_column=pid
log.user_column=user
log.host_column=host
log.rhost_column=rhost
log.time_column=logtime

按照楼主贴的的意思,那么其中users.password_crypt=3就要改为users.password_crypt=2,要不也会出现登陆不了
希望喜欢楼主贴子的朋友,一起分享实践中的一些经验!
再次感谢wolfg老大

[ 本帖最后由 xlpc 于 2009-11-1 19:08 编辑 ]

论坛徽章:
0
24 [报告]
发表于 2009-11-01 18:39 |只看该作者

回复 #22 wgyzhechao 的帖子

Jan 12 09:12:09 hc vsftpd: pam_mysql - MySQL error (Access denied for user 'root'@'localhost' (using password: YES))

你出错的地方应该是这里,你不能照抄文章,因为你的数据库root密码不是123456
请改成相对应的试下

论坛徽章:
0
25 [报告]
发表于 2009-11-01 18:41 |只看该作者
原帖由 wgyzhechao 于 2009-1-12 09:18 发表
用虚拟用户登录不了, 是什么问题呢?好像也是找不到用户名。

Jan 12 09:12:09 hc vsftpd: pam_mysql - option verbose is set to "1"
Jan 12 09:12:09 hc vsftpd: pam_mysql - pam_mysql_close_db() calle ...


Jan 12 09:12:09 hc vsftpd: pam_mysql - MySQL error (Access denied for user 'root'@'localhost' (using password: YES))

你出错的地方应该是这里,你不能照抄文章,因为你的数据库root密码不是123456
请改成相对应的试下

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
26 [报告]
发表于 2010-09-15 10:40 |只看该作者
想知道lz在哪找到的pam_mysql文档?

我从sourceforge下载的源码里也没发现doc,kernel.org的pam-sag文档里也没有这个模块的描述

论坛徽章:
5
技术图书徽章
日期:2014-02-10 10:55:18技术图书徽章
日期:2014-03-17 16:37:45狮子座
日期:2014-04-25 11:17:42未羊
日期:2014-08-13 11:45:23天蝎座
日期:2015-12-16 10:30:37
27 [报告]
发表于 2010-09-15 12:49 |只看该作者
或者我在哪能找到各个pam模块的详细描述?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP