1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| #配置 OpenLDAP Server [root@object1 ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{2\}hdb.ldif dn: olcDatabase={2}hdb
修改两行 olcSuffix: dc=hyman,dc=com olcRootDN: cn=Manager,dc=hyman,dc=com 新增一行 olcRootPW: 123456
#配置 Monitoring Database [root@object1 ~]# vim /etc/openldap/slapd.d/cn\=config/olcDatabase\=\{1\}monitor.ldif dn: olcDatabase={1}monitor
修改一行 olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=extern al,cn=auth" read by dn.base="cn=Manager,dc=hyman,dc=com" read by * none
#初始化 LDAP database [root@object1 ~]# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG [root@object1 ~]# chown -R ldap.ldap /var/lib/ldap/
#测试 configuration [root@object1 ~]# slaptest -u
#启动服务并开机自启 [root@object1 ~]# systemctl start slapd [root@object1 ~]# systemctl enable slapd
#查看状态 [root@object1 ~]# netstat -lt | grep ldap
#将所有的配置LDAP server, 添加到LDAP schemas中 [root@object1 ~]# cd /etc/openldap/schema/ ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f cosine.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f nis.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f collective.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f corba.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f core.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f duaconf.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f dyngroup.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f inetorgperson.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f java.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f ppolicy.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f pmi.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f openldap.ldif [root@object1 schema]# ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f misc.ldif
#使用Migration Tools 创建 LDAP DIT [root@object1 schema]# cd /usr/share/migrationtools/ [root@object1 migrationtools]# vim migrate_common.ph 修改61行 $NAMINGCONTEXT{'group'} = "ou=Groups"; 修改71行 $DEFAULT_MAIL_DOMAIN = "hyman.com"; 修改74行 $DEFAULT_BASE = "dc=hyman,dc=com"; 修改90行 $EXTENDED_SCHEMA = 1;
#创建 base.ldif [root@object1 migrationtools]# ./migrate_base.pl > /root/base.ldif
#导入LDAP database [root@object1 migrationtools]# ldapadd -x -W -D "cn=Manager,dc=hyman,dc=com" -f /root/base.ldif
#创建用户和用户组,并将其从本地数据库迁移到LDAP数据库 [root@object1 migrationtools]# mkdir /home/guests [root@object1 migrationtools]# useradd -d /home/guests/ldapuser1 ldapuser1 [root@object1 migrationtools]# useradd -d /home/guests/ldapuser2 ldapuser2 [root@object1 migrationtools]# echo "password" | passwd --stdin ldapuser1 [root@object1 migrationtools]# echo "password" | passwd --stdin ldapuser2
#过滤掉这些用户和组和密码从/etc/shadow到不同的文件 [root@object1 ~]# getent passwd | tail -n 5 > /root/users [root@object1 ~]# getent shadow | tail -n 5 > /root/shadow [root@object1 ~]# getent group | tail -n 5 > /root/groups
#创建这些用户使用migrationtools [root@object1 ~]# cd /usr/share/migrationtools/ [root@object1 migrationtools]# vim migrate_passwd.pl 修改188行 把 /etc/shadow 替换为 /root/shadow
[root@object1 migrationtools]# ./migrate_passwd.pl /root/users > users.ldif [root@object1 migrationtools]# ./migrate_passwd.pl /root/groups > groups.ldif
#上传这些用户和组LDAP数据库 [root@object1 ~]# ldapadd -x -W -D "cn=Manager,dc=hyman,dc=com" -f users.ldif [root@object1 ~]# ldapadd -x -W -D "cn=Manager,dc=hyman,dc=com" -f groups.ldif
#所有记录搜索LDAP DIT [root@object1 ~]# ldapsearch -x -b "dc=hyman,dc=com" -H ldap://127.0.0.1
|