CentOS使用OpenLDAP作为域控

     2012年12月09日       teddy.sun       运维笔记->系统管理       openldap 

OpenLDAP服务端配置
1.Yum安装OpenLDAP服务端和OpneLDAP客户端
yum install -y openldap-clients openldap-servers
2.配置OpenLDAP服务端
vim /etc/openldap/slapd.conf
修改如下对应字段,
suffix      "dc=opstool,dc=com"  #这个表示LDAP的域
rootdn      "cn=Manager,dc=opstool,dc=com"  #域管理员的DN
rootpw      {SSHA}Gk2E2zfKJkPEFaNNiDpJu5dz6OIScs8q   #域管理员加密后的密码
域管理员的密码可以运行slappasswd产生
3.启动OpenLDAP服务
service ldap start
chkconfig ldap on
启动完成后,执行ldapsearch -x 检查是否有如下输出
# extended LDIF
#
# LDAPv3
# base <> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# search result
search: 2
result: 32 No such object
# numResponses: 1
表示服务已经启动成功
4.导入基础结构
base.ldif  #内容如下:
dn: dc=opstool,dc=com
dc: opstool
objectClass: top
objectClass: domain
dn: ou=People,dc=opstool,dc=com
ou: People
objectClass: top
objectClass: organizationalUnit
dn: ou=Group,dc=opstool,dc=com
ou: Group
objectClass: top
objectClass: organizationalUnit
然后执行ldapadd -x -D "cn=Manager,dc=opstool,dc=com" -W -f base.ldif
5.导入用户组group.ldif
group.ldif #内容如下:
dn: cn=admin,ou=Group,dc=opstool,dc=com
cn:               admin
objectClass:      posixGroup
objectClass:      top
gidNumber:        510
然后执行ldapadd -x -D "cn=Manager,dc=opstool,dc=com" -W -f group.ldif
6.导入用户信息passwd.ldif
passwd.ldif #内容如下
dn: uid=ldapuser,ou=People,dc=opstool,dc=com
uid:              ldapuser
cn:               ldapuser
objectClass:      account
objectClass:      posixAccount
objectClass:      top
objectClass:      shadowAccount
userPassword:     {SSHA}cbkawTuSdalcKClw0fCYRHQ99quSKJ0Y
shadowLastChange: 14963
shadowMin:        0
shadowMax:        99999
shadowWarning:    7
loginShell:       /bin/bash
uidNumber:        510
gidNumber:        510
homeDirectory:    /home/ldapuser
然后执行ldapadd -x -D "cn=Manager,dc=opstool,dc=com" -W -f passwd.ldif
userPassword的加密密码可以通过slappasswd产生

7.现在我们来查询一下LDAP数据库里面的记录:
 ldapsearch -x -b "dc=opstool,dc=com"
能查询出刚才添加的记录,就说明前面的操作都OK了。

客户端配置
1.yum install -y nss-pam-ldapd ypbind pam_ldap 2.执行authconfig-tui,图形化界面配置:
                                         ┌────────────────┤ Authentication Configuration ├─────────────────┐
                                         │                                                                 │
                                         │  User Information        Authentication                         │
                                         │  [ ] Cache Information   [ ] Use MD5 Passwords                  │
                                         │  [ ] Use Hesiod          [*] Use Shadow Passwords               │
                                         │  [*] Use LDAP            [*] Use LDAP Authentication            │
                                         │  [ ] Use NIS             [ ] Use Kerberos                       │
                                         │  [ ] Use Winbind         [*] Use Fingerprint reader             │
                                         │                          [ ] Use Winbind Authentication         │
                                         │                          [*] Local authorization is sufficient  │
                                         │                                                                 │
                                         │            ┌────────┐                      ┌──────┐             │
                                         │            │ Cancel │                      │ Next │             │
                                         │            └────────┘                      └──────┘             │
                                         │                                                                 │
                                         │                                                                 │
                                         └─────────────────────────────────────────────────────────────────┘
User Information选中Use LDAP,Authentication选中Use LDAP Authentication
填好后选Next
                                                ┌─────────────────┤ LDAP Settings ├─────────────────┐
                                                │                                                   │
                                                │          [ ] Use TLS                              │
                                                │  Server: ldap://opstool.com/_____________________ │
                                                │ Base DN: dc=opstool,dc=com_______________________ │
                                                │                                                   │
                                                │         ┌──────┐                  ┌────┐          │
                                                │         │ Back │                  │ Ok │          │
                                                │         └──────┘                  └────┘          │
                                                │                                                   │
                                                │                                                   │
                                                └───────────────────────────────────────────────────┘
Server写刚才LDAP服务器的地址,Base DN为服务器端填写的root dn
完成后,可以使用刚才添加的LDAP 用户来登录了

LDAP客户端常用命令操作
1.搜索本LDAP服务器
ldapsearch -x -b "过滤选项"。示例如下:
ldapsearch -x -b "dc=opstool,dc=com"
2.将ldif添加到LDAP数据库中
ldapadd -x -D "cn=Manager,dc=opstool,dc=com" -W -f file.ldif
ldapadd -x -W -D "cn=Manager,dc=opstool,dc=com"  -f passwd.ldif
3.修改LDAP中的字段
ldapmodify -x -W -D "cn=Manager,dc=opstool,dc=com"  以下为手动输入
dn: cn=defaults,ou=SUDOers,dc=opstool,dc=com
changetype: modify
delete: sudoOption
sudoOption: !syslog
4.删除一条DN
ldapdelete -x -W -D "cn=Manager,dc=opstool,dc=com" 待删除DN,例如
ldapdelete -x -W -D "cn=Manager,dc=opstool,dc=com"  "uid=ldapuser,ou=People,dc=opstool,dc=com"
PS: Windows可以使用http://www.ldapbrowser.com/ 这个工具来连接服务端进行相应操作