这里暂时不讨论LDAP的基础知识。需要的话去LDAP板块看吧。我们今天讨论OpenLDAP 整合 FreeBSD 用户
我的LDIF:
引用:[color=DarkGreen]#建立一个普通的用户组,不能su的组
[color=Red]dn: cn=ldapusers,ou=unix,dc=ccc,dc=cn
cn: ldapusers
gidNumber: 2000
objectClass: posixGroup
objectClass: top[/color]
#建立一个 wheel组,都 知道只能 wheel才能su成超级用户
[color=Red]dn: cn=wheel,ou=unix,dc=ccc,dc=cn
cn: wheel
gidNumber: 10 #注意这里我用的gid的是10下面给以重要是说明
objectClass: posixGroup
objectClass: top[/color]
#建立一个普通的用户
[color=Red]dn: uid=admin,ou=unix,dc=ccc,dc=cn
uid: admin
cn: admin
objectClass: top
objectClass: account
objectClass: posixAccount
uidNumber: 2000
gidNumber: 2000
homeDirectory: /home/admin
loginShell: /bin/csh
gecos: The Server's Service
userPassword: {MD5}hPXHLAdhoKpLtbhT9aF6og==[/color]
#建立一个隶属于wheel组的用户,可以su成超级用户
[color=Red]dn: uid=suadmin,ou=unix,dc=ccc,dc=cn
uid: suadmin
cn: suadmin
objectClass: top
objectClass: account
objectClass: posixAccount
objectClass: uidObject
uidNumber: 2001
homeDirectory: /home/suadmin
loginShell: /bin/csh
gecos: The Server's Service
userPassword: {MD5}Pae8arzjW93RM/i8PtG+Mw==[/color][/color]
因为今天我们讨论的是OpenLDAP 整合 FreeBSD 用户,以前我的OPENLDAP已经整合了很多台linux了,因为linux下wheel组的gid是 10 所以我这里也用gid为10.如果你们自己做根据你们自己的需要了。
最后我的 /etc/group文件
引用:/etc/group
[color=Red]wheel:*:10:root[/color]
幸好FREEBSD的GID 10 是 保留的。要不我需要改的就多了。
安装软件:
引用:[color=Blue]#cd /usr/ports/net/nss_ldap/ #连接ldap服务器所需要
#make install clean
#cd /usr/ports/security/pam_ldap #模块认证
#make install clean
#cd /usr/ports/security/pam_mkhomedir #登录没有目录可以自动建立
#make install clean[/color]
设置ldap与服务器连接
引用:#cp /usr/local/etc/ldap.conf.dist ldap.conf
[color=Red]host ldap.ccc.cn
uri ldap://ldap.ccc.cn
base dc=ccc,dc=cn
pam_filter objectclass=posixAccount
pam_login_attribute uid
bind_policy soft
pam_password md5[/color]
#cd /usr/local/etc
#ln -s ldap.conf nss_ldap.conf # 把 ldap.conf 及 nss_ldap.conf 连接 到一起
配置登陆允许ldap认证
引用:#vi /etc/nsswitch.conf # 设定 nsswitch 加入 ldap认证
[color=Red]group: compat
group_compat: ldap nis # 加上ldap
hosts: files dns
networks: files
passwd: compat
passwd_compat: ldap nis # 加上ldap
shells: files[/color]
设置允许用户和组登陆
引用:#vipw # 设置允许登录帐号(在最后加入)
[color=Red]+:*::::::::[/color]
#vi /etc/group # 设置允许组登录(在最后加入) //这个问题如果我加入有可能出现登录不了或者登录的时候说没有这个用户组存在
[color=Red]+:*:: [/color]
查询是否已经能从ldap获得用户信息
引用:#id admin # 查询帐号admin
[color=Red]uid=2000(admin) gid=2000(ldapusers) groups=2000(ldapusers)[/color]
配置SSHD登陆认证和自动建立用户目录
引用:cd /etc/pam.d # 到pam目录下可以 看到很多服务都可以 设定认证,我们今天就讲一 下sshd的认证情况,其他的自己摸索吧
#vi sshd #加入下面两行,当User login 到 Server 时会通过ldap 认证并建立一 个家目录
[color=Red]auth sufficient /usr/local/lib/pam_ldap.so no_warn try_first_pass
session required /usr/local/lib/pam_mkhomedir.so[/color]