免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7390 | 回复: 8
打印 上一主题 下一主题

[ldap] ldap给vsftp做认证,有难度哦?? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-17 13:19 |只看该作者 |倒序浏览
由于公司要做一个openldap统一认证数据库.qmail+ssh+samba+system+ftp(未通过)。只查ftp没有通过,先把配置文件和相关测试参数发给大家:
system: centos
ftp version: vsftp
ldap version: openldap

vsftpd.conf的配置内容:
----------------------------------
[root@rd etc]# grep -v "#" /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
pasv_min_port=5000
pasv_max_port=5100
chroot_local_user=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
---------------------------------------------------
vsftpd的pam模块内容:
[root@rd etc]# more /etc/pam.d/vsftpd
#%PAM-1.0
auth       sufficient   /lib/security/pam_ldap.so use_first_pass
account    sufficient   /lib/security/pam_ldap.so
password   sufficient   /lib/security/pam_ldap.so
session    sufficient   /lib/security/pam_ldap.so
auth       required     pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
auth       required     pam_stack.so service=system-auth
auth       required     pam_shells.so
account    required     pam_stack.so service=system-auth
session    required     pam_stack.so service=system-auth
session    required     pam_loginuid.so

----------------------------------------------------------
/etc/ldap.conf文件的配置内容:
[root@rd etc]# grep -v "#" ldap.conf|uniq|sort -r
tls_cacertdir /etc/openldap/cacerts
ssl no
port 389
pam_password md5
pam_password exop
pam_password crypt
host 192.168.2.229
bindpw ftp123
binddn cn=ftpadmin,o=sinotest
base o=sinotest
-----------------------------------------------------------
192.168.2.229的openldap sever的配置内容:
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema
include         /etc/openldap/schema/samba.schema
include         /etc/openldap/schema/qmailUser.schema

allow bind_v2


pidfile         /var/run/slapd.pid
argsfile        /var/run/slapd.args




access to attrs=userPassword,sambaLMPassword,sambaNTPassword
       by self write
       by anonymous auth
       by * none
access to *
        by self write
        by users read
        by anonymous auth



database        bdb
suffix          "o=sinotest"
rootdn          "cn=admin,o=sinotest"
rootpw           sinotest

directory       /var/lib/ldap

index objectClass,uidNumber,gidNumber  eq
index cn,sn,uid,displayName  pres,sub,eq
index memberUid,mail,givenname  eq,subinitial
index sambaSID,sambaPrimaryGroupSID,sambaDomainName  eq

----------------------------------------------------------------------
做如下实验:
1.在本机器上测试,能否ldapsearch到192。168。2。229的数据
答案:一切正常。
2。[root@rd etc]# ftp localhost
Connected to localhost.localdomain.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (localhost:root): test2
331 Please specify the password.
Password:
530 Login incorrect.
Login failed.\
看log
Jul 17 11:24:26 rd vsftpd(pam_unix)[25268]: check pass; user unknown
Jul 17 11:24:26 rd vsftpd(pam_unix)[25268]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=192.168.1.20
Jul 17 13:08:11 rd vsftpd(pam_unix)[25301]: check pass; user unknown
Jul 17 13:08:11 rd vsftpd(pam_unix)[25301]: authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=127.0.0.1
看似提示,找不到LDAP里的用户,郁闷啊

请各位老师帮忙解答一下,是什么问题。已经郁闷很久了。

论坛徽章:
0
2 [报告]
发表于 2006-07-17 14:37 |只看该作者

能够看看认证成功时的FTP LOG

或者你能否打开LDAP LOG?

论坛徽章:
0
3 [报告]
发表于 2006-07-17 14:55 |只看该作者
我觉得我在测试机器上已经 ldapsearch -x -b 'ou=abc.com,o=sinotest' -D "cn=ftp,o=sinocredit" -W -h 192.168.2.229
这个可以找到数据
我觉得就可以用ftp bind 到LDAP 服务器上。。。
这个有问题吗?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2006-07-17 20:17 |只看该作者
vsftpd不直接支持LDAP(我那个时代是这样的),它只是支持PAM,你已经配通了ssh和系统login,只要cp一个完全一样的/etc/pam.d/vsftpd文件出来就可以了,或是把所有的pam.d目录下的文件都连到system-auth上,以后修改这一个文件就是了

论坛徽章:
0
5 [报告]
发表于 2006-07-17 21:55 |只看该作者
原帖由 py 于 2006-7-17 20:17 发表
vsftpd不直接支持LDAP(我那个时代是这样的),它只是支持PAM,你已经配通了ssh和系统login,只要cp一个完全一样的/etc/pam.d/vsftpd文件出来就可以了,或是把所有的pam.d目录下的文件都连到system-auth上,以后修 ...

说的有道理,vsftpd没有LDAP接口。可是,我也是修改的/etc/pam.d/vsftpd这个文件啊。直接修改里面的auth,account,pass等属性,而且都用的是required的flags.


cp ssh->vsftpd这样可行吗?或者他们读帐户和密码的方式是一样的吗?或者说都是找LDAP的sn,userpassword这2个属性吗?

论坛徽章:
0
6 [报告]
发表于 2006-07-19 15:02 |只看该作者
哦,已经好了。
按照py斑竹的说法,搞了一个到system-auth的文件里,都从这个读取;谢谢CU,谢谢PY。

论坛徽章:
0
7 [报告]
发表于 2010-06-29 13:39 |只看该作者
回复 6# webyuhang


哥们给贴个实例吧。谢谢,谢谢

论坛徽章:
0
8 [报告]
发表于 2010-11-04 23:22 |只看该作者
我最近也在搞呀,挺麻烦,贴点详细的吧,谢了。还有./sendmail怎么跟ldap连

你的LDAP用户想改密码是怎么改的,都是技术人员管吗?

论坛徽章:
1
寅虎
日期:2013-09-29 23:15:15
9 [报告]
发表于 2010-11-11 08:29 |只看该作者
密码可以写个简单的cgi,让用户自己修改
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP