前言:
当前同学们对“centos主从配置文件”都比较重视,咱们都需要分析一些“centos主从配置文件”的相关资讯。那么小编也在网络上收集了一些有关“centos主从配置文件””的相关资讯,希望朋友们能喜欢,我们快快来了解一下吧!开始安装
参考:
注意:
主节点需要配置:basedomain.ldif、chdomain.ldif、chrootpw.ldif、ldapuser.ldif(用户及用户组)、loglevel.ldif(配置日志)
从节点配置(导入基础数据库、导入用户、导入用户组和用户加入到用户组都不需要):chdomain.ldif、chrootpw.ldif、loglevel.ldif
Step 1:安装必要包
首先使用如下命令查看是否已经安装 OpenLDAP:
# rpm -qa | grep openldapopenldap-2.4.40-13.el7.x86_64openldap-servers-2.4.40-13.el7.x86_64openldap-clients-2.4.40-13.el7.x86_64
若已经安装过,可以忽略此步骤,否则请继续执行如下命令(可以根据需要选择是否安装迁移工具 migrationtools):
# yum -y install openldap compat-openldap openldap-clients openldap-servers openldap-servers-sql openldap-devel migrationtoolscp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIGchown ldap. /var/lib/ldap/DB_CONFIGchown ldap:ldap -R /var/lib/ldapchmod 700 -R /var/lib/ldapsystemctl start slapd systemctl enable slapd
查看端口使用情况:
# netstat -tlnp | grep slapdtcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 227/slapd tcp6 0 0 :::389 :::* LISTEN 227/slapd
默认情况下, slapd 用户会占用 389 端口。
Step 2:设置 OpenLDAP 的管理员密码
首先要生成经处理后的明文密码:
# slappasswd New password: Re-enter new password: {SSHA}hnm8WDAp0mn2HgN26h6ZdbzFVtFATQhG
其中 {SSHA}xxxxxxxxxxxxxxxxxxxxxxxx 就是加密处理后的明文密码,之后会用到这个密码。
之后再新建如下文件:
touch chrootpw.ldifecho "dn: olcDatabase={0}config,cn=config" >> chrootpw.ldifecho "changetype: modify" >> chrootpw.ldifecho "add: olcRootPW" >> chrootpw.ldifecho "olcRootPW: {SSHA}f+8HYXQoEnCF5TEuAAXB9Kdy3fWyvn7K" >> chrootpw.ldif
最后导入该文件:
# ldapadd -Y EXTERNAL -H ldapi:/// -f chrootpw.ldifSASL/EXTERNAL authentication startedSASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=authSASL SSF: 0modifying entry "olcDatabase={0}config,cn=config"Step 3:导入基本 Schema
(可以有选择地导入)
ldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/cosine.ldifldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/nis.ldifldapadd -Y EXTERNAL -H ldapi:/// -D "cn=config" -f /etc/openldap/schema/inetorgperson.ldifStep 4:设置自己的 Domain Name
首先要生成经处理后的目录管理者明文密码:
# slappasswdNew password: Re-enter new password: {SSHA}ZhmO2UeH4tsyy5ly0fTwdkO10WJ69V6U
之后,再新建如下文件:
vim chdomain.ldif
文件内容如下,注意,要使用你自己的域名替换掉文件中所有的 "dc=,dc=",并且使用chrootpw.ldif文件中的密码,替换文中的 "olcRootPW" 部分:
# replace to your own domain name for "dc=***,dc=***" section# specify the password generated above for "olcRootPW" sectiondn: 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=root,dc=baidu,dc=com" read by * nonedn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcSuffixolcSuffix: dc=baidu,dc=comdn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcRootDNolcRootDN: cn=root,dc=baidu,dc=comdn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcRootPWolcRootPW: {SSHA}f+8HYXQoEnCF5TEuAAXB9Kdy3fWyvn7Kdn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcAccessolcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=root,dc=baidu,dc=com" write by anonymous auth by self write by * noneolcAccess: {1}to dn.base="" by * readolcAccess: {2}to * by dn="cn=root,dc=baidu,dc=com" write by * read
之后再导入该文件:
# ldapmodify -Y EXTERNAL -H ldapi:/// -f chdomain.ldif SASL/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"
然后再新建如下文件:
vim basedomain.ldif
文件内容如下,注意,要使用你自己的域名替换掉文件中所有的 "dc=,dc=":
# replace to your own domain name for "dc=***,dc=***" sectiondn: dc=baidu,dc=comobjectClass: topobjectClass: dcObjectobjectclass: organizationo: Server Worlddc: baidudn: cn=root,dc=baidu,dc=comobjectClass: organizationalRolecn: rootdescription: Directory Managerdn: ou=People,dc=baidu,dc=comobjectClass: organizationalUnitou: Peopledn: ou=Group,dc=baidu,dc=comobjectClass: organizationalUnitou: Group
最后导入该文件:
# ldapadd -x -D cn=root,dc=baidu,dc=com -W -f basedomain.ldifEnter LDAP Password: adding new entry "dc=baidu,dc=com"adding new entry "cn=root,dc=baidu,dc=com"adding new entry "ou=People,dc=baidu,dc=com"adding new entry "ou=Group,dc=baidu,dc=com"Step 5:允许防火墙访问 LDAP 服务。
开启 389/TCP 端口(根据你自己的防火墙进行设置):
若使用的是 firewall,修改方法如下:
# firewall-cmd --add-service=ldap --permanent success# firewall-cmd --reload success
若使用的是 iptables,修改方法如下:
vim /etc/sysconfig/iptables
追加如下内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 389 -j ACCEPT
同样的,修改 ipv6 的防火墙文件,并追加相同的内容:
vim /etc/sysconfig/ip6tables
追加如下内容:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 389 -j ACCEPT
最后重启防火墙:
systemctl restart iptablessystemctl restart ip6tablesStep 6:开启openldap日志功能
#cat > /root/loglevel.ldif << EOFdn: cn=configchangetype: modifyreplace: olcLogLevelolcLogLevel: statsEOF#ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/loglevel.ldif#systemctl restart slapd
#cat >> /etc/rsyslog.conf << EOFlocal4.* /var/log/slapd.logEOF#systemctl restart rsyslog#touch /var/log/slapd.log#tail -f /var/log/slapd.logOpenLDAP Server 中添加用户添加用户
首先要生成经处理后的明文密码:
# slappasswdNew password: Re-enter new password: {SSHA}8TEZlcfO0LLcnby7zDGYkNdd2fiysP4X
之后再新建如下文件:
vim ldapuser.ldif
文件内容如下,注意,要使用你自己的域名替换掉文件中所有的 "dc=,dc=",并且使用刚刚生成的密码,替换文中的 "userPassword" 部分:
# create new# replace to your own domain name for "dc=***,dc=***" sectiondn: uid=ldapuser01,ou=People,dc=baidu,dc=comobjectClass: inetOrgPersonobjectClass: posixAccountobjectClass: shadowAccountcn: ldapuser01sn: LinuxuserPassword: {SSHA}H+Au54NmBYHGj6zMVJXcH1Q6O6Yu9villoginShell: /bin/bashuidNumber: 1000gidNumber: 1000homeDirectory: /home/ldapuser01dn: cn=ldapuser01,ou=Group,dc=baidu,dc=comobjectClass: posixGroupcn: ldapuser01gidNumber: 1000memberUid: ldapuser01
# ldapadd -x -D cn=root,dc=baidu,dc=com -W -f ldapuser.ldif Enter LDAP Password: adding new entry "uid=ldapuser01,ou=People,dc=baidu,dc=com"adding new entry "cn=ldapuser01,ou=Group,dc=baidu,dc=com"删除 LDAP 用户或组
删除用户:
ldapdelete -x -W -D 'cn=root,dc=baidu,dc=com' "uid=ldapuser01,ou=People,dc=baidu,dc=com"
删除组:
ldapdelete -x -W -D 'cn=root,dc=baidu,dc=com' "cn=ldapuser01,ou=Group,dc=baidu,dc=com"配置主从:
参考:
主从服务器配置:
新建如下文件:
touch syncprov_mod.ldif
文件内容如下,
dn: cn=module,cn=configobjectClass: olcModuleListcn: moduleolcModulePath: /usr/lib64/openldapolcModuleLoad: syncprov.la
ldapadd -Y EXTERNAL -H ldapi:/// -f /root/syncprov_mod.ldif
然后新建文件:
touch syncprov.ldif
文件内容如下:
dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=configobjectClass: olcOverlayConfigobjectClass: olcSyncProvConfigolcOverlay: syncprovolcSpSessionLog: 100
ldapadd -Y EXTERNAL -H ldapi:/// -f /root/syncprov.ldif主节点:
新建如下文件:
touch rp.ldif
文件内容如下,
dn: cn=configchangetype: modifyreplace: olcServerIDolcServerID: 0 #主节点olcServerID配置为0,从节点为1开始dn: olcDatabase={2}hdb,cn=configchangetype: modifyadd: olcSyncReplolcSyncRepl: rid=100 #同步进程号 provider=ldap://172.18.0.253:389 #从节点ldap的ip加端口 bindmethod=simple #简单的认证方式 binddn=" cn=root,dc=baidu,dc=com" #管理员明文密码 credentials=123456 searchbase=" dc=baidu,dc=com" filter="(objectClass=*)" scope=sub schemachecking=on type=refreshAndPersist retry=” 5 5 300 3″ attrs=” *,+” interval=00:00:05:00-add: olcMirrorModeolcMirrorMode: TRUE-add: olcDbIndexolcDbIndex: entryUUID eq-add: olcDbIndexolcDbIndex: entryCSN eqdn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=configchangetype: addobjectClass: olcOverlayConfigobjectClass: olcSyncProvConfigolcOverlay: syncprov
ldapadd -Y EXTERNAL -H ldapi:/// -f /root/rp.ldif从节点01:
新建如下文件:
touch rp.ldif
文件内容如下,
dn: cn=configchangetype: modifyreplace: olcServerIDolcServerID: 1dn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcSyncReplolcSyncRepl: rid=100 provider=ldap://172.18.0.230:389 bindmethod=simple binddn=" cn=root,dc=baidu,dc=com" credentials=123456 searchbase=" dc=baidu,dc=com" filter="(objectClass=*)" scope=sub schemachecking=on type=refreshAndPersist retry="60 +″ attrs=” *,+” interval=00:00:00:10-add: olcMirrorModeolcMirrorMode: TRUE-add: olcDbIndexolcDbIndex: entryUUID eq-add: olcDbIndexolcDbIndex: entryCSN eqdn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=configchangetype: addobjectClass: olcOverlayConfigobjectClass: olcSyncProvConfigolcOverlay: syncprov
ldapadd -Y EXTERNAL -H ldapi:/// -f /root/rp.ldif从节点02:
新建文件:
touch rp.ldif
文件内容配置:
dn: cn=configchangetype: modifyreplace: olcServerIDolcServerID: 2dn: olcDatabase={2}hdb,cn=configchangetype: modifyreplace: olcSyncReplolcSyncRepl: rid=123#改变进程号rid的值即可配置其他的从节点 provider=ldap://172.18.0.230:389 bindmethod=simple binddn=" cn=root,dc=baidu,dc=com" credentials=123456 searchbase=" dc=baidu,dc=com" filter="(objectClass=*)" scope=sub schemachecking=on type=refreshAndPersist retry="60 +″ attrs=” *,+” interval=00:00:00:10-add: olcMirrorModeolcMirrorMode: TRUE-add: olcDbIndexolcDbIndex: entryUUID eq-add: olcDbIndexolcDbIndex: entryCSN eq-dn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=configchangetype: addobjectClass: olcOverlayConfigobjectClass: olcSyncProvConfigolcOverlay: syncprov
ldapadd -Y EXTERNAL -H ldapi:/// -f /root/rp.ldif
标签: #centos主从配置文件 #centos7上ldap启动