安装:
yum install openldap openldap-servers openldap-clients
拷贝数据库配置文件
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIGchown ldap:ldap /var/lib/ldap/DB_CONFIG
DB_CONIFG中主要是关于Berkeley DB的相关的一些配置启动OpenLDAP Server:
systemctl start slapd systemctl enable slapdsystemctl status slapd
slapd即standard alone ldap daemon,该进程默认监听389端口设置root用户密码
先用一个命令生成一个LDAP管理用户root密码:
slAppasswdNew password:Re-enter new password:{SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo#记住这个,下面会用到
新建一个rootpwd.ldif(名称是自定义的)的文件:vi rootpwd.ldifdn: olcDatabase={0}config,cn=configchangetype: modifyadd: olcRootPWolcRootPW: {SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo
- ldif即LDAP Data Interchange Format,是LDAP中数据交换的一种文件格式 。文件内容采用的是key-value形式,注意value后面不能有空格 。
- 上面内容中dn即distingush name
- olc即Online Configuration,表示写入LDAP后不需要重启即可生效
- changetype: modify表示修改一个entry,changetype的值可以是add,delete, modify等 。
- add: olcRootPW表示对这个entry新增了一个olcRootPW的属性
- olcRootPW: {SSHA}krOGXDmiCdSXuXocOf10F96LJO5ijdXo指定了属性值
ldapadd -Y EXTERNAL -H ldapi:/// -f rootpwd.ldifSASL/EXTERNAL authentication startedSASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF: 0modifying 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生成一个密码:
【转 CentOS7安装OpenLdap】
slappasswdNew password:Re-enter new password:{SSHA}OpMcf0c+pEqFLZm3i+YiI2qhId1G/yM3
新建一个domain.ldif的文件:vi domain.ldifdn: olcDatabase={1}monitor,cn=configchangetype: modifyreplace: olcAccessolcAccess: {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 * nonedn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcSuffixolcSuffix: dc=zhidaoauto,dc=comdn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcRootDNolcRootDN: cn=Manager,dc=zhidaoauto,dc=comdn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcRootPWolcRootPW: {SSHA}OpMcf0c+pEqFLZm3i+YiI2qhId1G/yM3 #替换上面生成的密码dn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcAccessolcAccess: {0}to attrs=userPassword,shadowLastChange bydn="cn=Manager,dc=zhidaoauto,dc=com" write by anonymous auth by self write by * noneolcAccess: {1}to dn.base="" by * readolcAccess: {2}to * by dn="cn=Manager,dc=zhidaoauto,dc=com" write by * read
文章插图
- olcAccess即access,该key用于指定目录的ACL即谁有什么权限可以存取什么
- olcRootDN设定管理员root用户的distingush name
- 注意替换上面文件内容中cn为具体的域信息
- olcRootPW用上面新生成的密码替换
ldapmodify -Y EXTERNAL -H ldapi:/// -f domain.ldifSASL/EXTERNAL authentication startedSASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF: 0modifying 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=comobjectClass: topobjectClass: dcObjectobjectclass: organizationo: zhidaoauto comdc: zhidaoautodn: cn=Manager,dc=zhidaoauto,dc=comobjectClass: organizationalRolecn: Managerdescription: Directory Managerdn: ou=People,dc=zhidaoauto,dc=comobjectClass: organizationalUnitou: Peopledn: ou=Group,dc=zhidaoauto,dc=comobjectClass: organizationalUnitou: Group
- 注意替换上面文件内容中dn为具体的域信息
- 理解dn,cn,dc
- DC即Domain Component,LDAP目录类似文件系统目录dc=zhidaoauto,dc=com相当于/com/zhidaoauto
- Nginx搭建RTMP推拉流服务器
- VMware更新阿里云镜像源CentOS7镜像
- Oracle数据库部署与数据导入
- Centos7如何安装google-chrome浏览器
- 使用 Python 将 MP4视频 转换为GIF动画
- Centos7使用ping命令对普通用户提权
- Hive安装和使用
- SQLSERVER也能部署在linux环境?SQLServer2019在CENTOS7部署详解
- 律师|668斤王浩楠转变风格,化身“律师”拍段子,网友:确实没流量了
- 推荐12款用了离不开的神仙软件,不用安装免费用
推荐阅读