系统版本:centos7.4html
openldap版本2.4数据库
安装并启动服务windows
安装:centos
yum install openldap openldap-servers openldap-clients
拷贝数据库配置文件api
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/DB_CONFIG
DB_CONIFG
中主要是关于Berkeley DB的相关的一些配置app
启动OpenLDAP Server:dom
systemctl start slapd
systemctl enable slapd
systemctl status slapd
slapd即standard alone ldap daemon,该进程默认监听389端口工具
设置root用户密码测试
先用一个命令生成一个LDAP管理用户root密码:ui
slappasswd New password: Re-enter new password: {SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo #记住这个,下面会用到
新建一个rootpwd.ldif(名称是自定义的)的文件:
vi rootpwd.ldif dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo
下面使用ldapadd命令将上面的rootpwd.ldif文件写入LDAP:
ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={0}config,cn=config"
导入schema
导入schema,schema包含为了支持特殊场景相关的属性,可根据选择导入,这里先所有导入:
ls /etc/openldap/schema/*.ldif | while read f; do ldapadd -Y EXTERNAL -H ldapi:/// -f $f; done
设定默认域
先使用slappasswd生成一个密码:
slappasswd New password: Re-enter new password: {SSHA}OpMcf0c+pEqFLZm3i+YiI2qhId1G/yM3
新建一个domain.ldif的文件:
vi domain.ldif dn: olcDatabase={1}monitor,cn=config changetype: modify replace: olcAccess olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read by dn.base="cn=Manager,dc=zhidaoauto,dc=com" read by * none dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=zhidaoauto,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=Manager,dc=zhidaoauto,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}OpMcf0c+pEqFLZm3i+YiI2qhId1G/yM3 #替换上面生成的密码 dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=zhidaoauto,dc=com" write by anonymous auth by self write by * none olcAccess: {1}to dn.base="" by * read olcAccess: {2}to * by dn="cn=Manager,dc=zhidaoauto,dc=com" write by * read
olcAccess
即access,该key用于指定目录的ACL即谁有什么权限能够存取什么olcRootDN
设定管理员root用户的distingush name写入:
ldapmodify -Y EXTERNAL -H ldapi:/// -f domain.ldif SASL/EXTERNAL authentication started SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth SASL SSF: 0 modifying entry "olcDatabase={1}monitor,cn=config" modifying entry "olcDatabase={2}hdb,cn=config" modifying entry "olcDatabase={2}hdb,cn=config" modifying entry "olcDatabase={2}hdb,cn=config" modifying entry "olcDatabase={2}hdb,cn=config"
添加基本目录
新建一个basedomain.ldif的文件:
dn: dc=zhidaoauto,dc=com objectClass: top objectClass: dcObject objectclass: organization o: zhidaoauto com dc: zhidaoauto dn: cn=Manager,dc=zhidaoauto,dc=com objectClass: organizationalRole cn: Manager description: Directory Manager dn: ou=People,dc=zhidaoauto,dc=com objectClass: organizationalUnit ou: People dn: ou=Group,dc=zhidaoauto,dc=com objectClass: organizationalUnit ou: Group
dc=zhidaoauto,dc=com
至关于/com/zhidaoauto
cn=Manager,dc=zhidaoauto,dc=com
表示在/com/zhidaoauto
域下的管理员用户Managerou=People,dc=zhidaoauto,dc=com
表示在/com/zhidaoauto
域下的一个组织单元People
写入:
ldapadd -x -D cn=Manager,dc=zhidaoauto,dc=com -W -f basedomain.ldif Enter LDAP Password: adding new entry "dc=zhidaoauto,dc=com" adding new entry "cn=Manager,dc=zhidaoauto,dc=com" adding new entry "ou=People,dc=zhidaoauto,dc=com" adding new entry "ou=Group,dc=zhidaoauto,dc=com"
测试:
ldapsearch -LLL -W -x -D "cn=Manager,dc=zhidaoauto,dc=com" -H ldap://localhost -b "dc=zhidaoauto,dc=com" Enter LDAP Password: dn: dc=zhidaoauto,dc=com objectClass: top objectClass: dcObject objectClass: organization o: zhidaoauto com dc: zhidaoauto dn: cn=Manager,dc=zhidaoauto,dc=com objectClass: organizationalRole cn: Manager description: Directory Manager dn: ou=People,dc=zhidaoauto,dc=com objectClass: organizationalUnit ou: People dn: ou=Group,dc=zhidaoauto,dc=com objectClass: organizationalUnit ou: Group
能够在局域网内的windows电脑上下载ldapadmin做为管理工具
登陆帐号为:
登陆ldap的用户dn为:cn=Manager,dc=zhidaoauto,dc=com
ou=Group和ou=People的区别:
从ou=Group里建立的是组,从ou=People建立的是用户
ou=People里的用户怎么加入到ou=Group下边的组呢:
右键"yunwei"组-->properties
这样就把ou=People里"zhaijunming"用户添加到ou=Group里的"yunwei"组了
https://blog.frognew.com/2017/05/openldap-install-notes.html#ldapadmin