{"id":1200,"date":"2017-08-07T16:27:42","date_gmt":"2017-08-07T08:27:42","guid":{"rendered":"http:\/\/www.yaoge123.com\/blog\/?p=1200"},"modified":"2020-03-15T11:00:29","modified_gmt":"2020-03-15T03:00:29","slug":"centos-7-%e4%b8%8b-openldap-%e5%ae%89%e8%a3%85%e9%85%8d%e7%bd%ae","status":"publish","type":"post","link":"https:\/\/www.yaoge123.com\/blog\/archives\/1200","title":{"rendered":"CentOS 7 \u4e0b OpenLDAP \u5b89\u88c5\u914d\u7f6e"},"content":{"rendered":"<p>\u76ee\u6807\u662fldap1\u548cldap2\u505a\u6210\u9ad8\u53ef\u7528LDAP\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u63d0\u4f9b\u8eab\u4efd\u9a8c\u8bc1\u670d\u52a1\u3002<\/p>\n<p><strong>\u4e00\u3001LDAP\u670d\u52a1\u7aef\uff0cldap1\u548cldap2\u5747\u9700\u5b89\u88c5\u914d\u7f6e<\/strong><\/p>\n<p><strong>\u5b89\u88c5OpenLDAP\u5e76\u5bfc\u5165\u57fa\u672c\u5b9a\u4e49<\/strong><\/p>\n<pre class=\"lang:sh decode:true \">yum install -y openldap openldap-clients openldap-servers\ncp \/usr\/share\/openldap-servers\/DB_CONFIG.example \/var\/lib\/ldap\/DB_CONFIG\nchown -R ldap:ldap \/var\/lib\/ldap\nsystemctl enable slapd.service\nsystemctl start slapd.service\nldapadd -Y EXTERNAL -H ldapi:\/\/\/ -D \"cn=config\" -f \/etc\/openldap\/schema\/cosine.ldif\nldapadd -Y EXTERNAL -H ldapi:\/\/\/ -D \"cn=config\" -f \/etc\/openldap\/schema\/nis.ldif<\/pre>\n<p><strong>\u4fee\u6539LDAP\u57fa\u672c\u914d\u7f6e<\/strong><\/p>\n<ol>\n<li>\u521b\u5efadb.ldif\uff0c\u5185\u5bb9\u89c1\u540e<\/li>\n<li>olcRootDN\u5c31\u662fLDAP\u7684\u8d85\u7ea7\u7528\u6237<\/li>\n<li>\u7528slappasswd\u751f\u6210\u5bc6\u7801\u7684\u54c8\u5e0c\u586b\u5165olcRootPW\u4e2d\u505a\u4e3aolcRootDN\u7684\u5bc6\u7801<\/li>\n<li>\u4fee\u6539dc=\u4e3a\u81ea\u5df1\u7684\u57df<\/li>\n<li>monitor\u9ed8\u8ba4\u6240\u6709\u7528\u6237\u5747\u53ef\u8bfb\u53d6\uff0c\u901a\u8fc7\u6dfb\u52a0olcAccess\u6539\u4e3a\u53ea\u6709root\u548cRootDN\u53ef\u4ee5\u8bfb\u53d6\n<pre class=\"lang:default decode:true\">dn: olcDatabase={2}hdb,cn=config\nchangetype: modify\nreplace: olcSuffix\nolcSuffix: dc=yaoge123,dc=com\n\ndn: olcDatabase={2}hdb,cn=config\nchangetype: modify\nreplace: olcRootDN\nolcRootDN: cn=Manager,dc=yaoge123,dc=com\n\ndn: olcDatabase={2}hdb,cn=config\nchangetype: modify\nreplace: olcRootPW\nolcRootPW: {SSHA}lY3iu244B87mEjUzSyHboD3x0tjTRHCV\n\ndn: cn=config\nchangetype: modify\nreplace: olcLogLevel\nolcLogLevel: stats2 shell sync\n\ndn: olcDatabase={1}monitor,cn=config\nchangetype: modify\nreplace: olcAccess\nolcAccess: {0}to * by dn.base=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\" read\n  by dn.base=\"cn=Manager,dc=yaoge123,dc=com\" read\n  by * none<\/pre>\n<\/li>\n<li>\u7528ldapmodify\u5bfc\u5165\n<pre class=\"lang:sh decode:true\">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f db.ldif<\/pre>\n<\/li>\n<\/ol>\n<p><strong>\u751f\u6210\u8bc1\u4e66\u5e76\u8bbe\u7f6eTLS<\/strong><\/p>\n<ol>\n<li>OpenLDAP\u9ed8\u8ba4\u4f7f\u7528\u660e\u7801\u4f20\u8f93\uff0c\u4e3a\u4e86\u52a0\u5bc6\u6570\u636e\u5fc5\u987b\u751f\u6210\u8bc1\u4e66\u5e76\u914d\u7f6eTLS<\/li>\n<li>\u5728\u4e00\u4e2a\u5b89\u5168\u7684\u670d\u52a1\u5668\u4e0a\u751f\u6210CA\u7684\u79c1\u94a5\u548c\u8bc1\u4e66\uff0c\u6709\u6548\u671f20\u5e74\n<pre class=\"lang:sh decode:true\">openssl req -new -x509 -nodes -out ca-cert.pem -keyout ca-key.pem -days 7305<\/pre>\n<\/li>\n<li>\u5728LDAP\u670d\u52a1\u5668\u751f\u6210\u79c1\u94a5\u548c\u8bc1\u4e66\u8bf7\u6c42\uff0c\u8bc1\u4e66CN\u9700\u4e3a\u5ba2\u6237\u7aef\u8bbf\u95ee\u4f7f\u7528\u7684\u5730\u5740\uff08\u57df\u540d\u3001\u673a\u5668\u540d\u3001IP\uff09\n<pre class=\"lang:sh decode:true\">openssl req -new -nodes -out cert.csr -keyout key.pem<\/pre>\n<\/li>\n<li>\u7528CA\u7b7e\u53d1\u8bc1\u4e66\uff0c\u6709\u6548\u671f20\u5e74\n<pre class=\"lang:sh decode:true\">openssl x509 -req -in cert.csr -CAkey ca-key.pem -CA ca-cert.pem -out cert.pem -set_serial 01 -days 7305<\/pre>\n<\/li>\n<li>\u628aCA\u8bc1\u4e66\u3001\u670d\u52a1\u5668\u79c1\u94a5\u548c\u8bc1\u4e66\u653e\u5230\/etc\/openldap\/certs\u4e0b\uff0c\u5e76\u4fee\u6539\u5c5e\u4e3b\u548c\u6743\u9650\n<pre class=\"lang:sh decode:true\">mv ca-cert.pem cert.pem key.pem \/etc\/openldap\/certs\/\nchown -R ldap:ldap \/etc\/openldap\/certs\/{ca-cert,cert,key}.pem\nchmod 644 \/etc\/openldap\/certs\/ca-cert.pem\nchmod 644 \/etc\/openldap\/certs\/cert.pem\nchmod 600 \/etc\/openldap\/certs\/key.pem<\/pre>\n<\/li>\n<li>\u521b\u5efacerts.ldif\n<pre class=\"lang:default decode:true \">dn: cn=config\nchangetype: modify\nreplace: olcTLSCACertificateFile\nolcTLSCACertificateFile: \/etc\/openldap\/certs\/ca-cert.pem\n\ndn: cn=config\nchangetype: modify\nreplace: olcTLSCertificateFile\nolcTLSCertificateFile: \/etc\/openldap\/certs\/cert.pem\n\ndn: cn=config\nchangetype: modify\nreplace: olcTLSCertificateKeyFile\nolcTLSCertificateKeyFile: \/etc\/openldap\/certs\/key.pem<\/pre>\n<\/li>\n<li>\u7528ldapmodify\u5bfc\u5165\n<pre class=\"lang:sh decode:true\">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f certs.ldif<\/pre>\n<\/li>\n<li>\u4fee\u6539LDAP\u670d\u52a1\u7aef\u914d\u7f6e\/etc\/sysconfig\/slapd\uff0c\u53ea\u542f\u7528ldapi\u548cldaps\n<pre class=\"lang:default decode:true\">SLAPD_URLS=\"ldapi:\/\/\/ ldaps:\/\/\/\"<\/pre>\n<\/li>\n<li>\u91cd\u542fLDAP\u670d\u52a1\n<pre class=\"lang:sh decode:true\">systemctl restart slapd.service<\/pre>\n<\/li>\n<li>\u9a8c\u8bc1TLS\uff0c\u53ef\u4ee5\u770b\u5230\u8bc1\u4e66\u94fe\u4e2d\u6709CA\u548cLDAP\u670d\u52a1\u5668\u4e24\u4e2a\u8bc1\u4e66\uff0c\u6700\u540e\u663e\u793aVerify return code: 0 (ok)\n<pre class=\"lang:sh decode:true\">openssl s_client -connect ldap1:636 -showcerts -state -CAfile \/etc\/openldap\/certs\/ca-cert.pem\n<\/pre>\n<\/li>\n<li>ldap1\u5df2\u5b8c\u6210\uff0c\u4ece3.\u751f\u6210\u79c1\u94a5\u548c\u8bc1\u4e66\u8bf7\u6c42\u5f00\u59cb\u4e3aldap2\u914d\u7f6e\uff0c\u6ce8\u610f\u7b7e\u53d1\u8bc1\u4e66\u65f6set_serial\u9700\u8981\u4e0d\u540c\uff0c\u7b7e\u53d1\u8bc1\u4e66\u6709\u6548\u671f\u9700\u5728CA\u8bc1\u4e66\u6709\u6548\u671f\u5185<\/li>\n<li>\u68c0\u67e5\u8bc1\u4e66\n<pre class=\"lang:sh decode:true\">openssl req -in cert.csr -noout -text  \/\/\u67e5\u770b\u8bc1\u4e66\u8bf7\u6c42\u6587\u4ef6\nopenssl x509 -in cert.pem -noout -text  \/\/\u67e5\u770b\u8bc1\u4e66<\/pre>\n<\/li>\n<\/ol>\n<p><strong>\u521b\u5efa\u81ea\u5df1\u7684\u57df<\/strong><\/p>\n<ol>\n<li>\u521b\u5efa\u4e00\u4e2a\u6587\u672c\u6587\u4ef6base.ldif\uff0c\u5185\u5bb9\u89c1\u540e<\/li>\n<li>\u4fee\u6539dc\u4e3a\u81ea\u5df1\u7684\u57df\u540d\n<pre class=\"lang:default decode:true\">dn: dc=yaoge123,dc=com\ndc: yaoge123\nobjectClass: top\nobjectClass: domain\n\ndn: ou=People,dc=yaoge123,dc=com\nou: People\nobjectClass: top\nobjectClass: organizationalUnit\n\ndn: ou=Group,dc=yaoge123,dc=com\nou: Group\nobjectClass: top\nobjectClass: organizationalUnit<\/pre>\n<\/li>\n<li>\u7528ldapadd\u5bfc\u5165\uff0c\u8f93\u5165RootDN\u5bc6\u7801\n<pre class=\"lang:sh decode:true\">ldapadd -x -W -D cn=Manager,dc=yaoge123,dc=com -H ldapi:\/\/\/ -f base.ldif<\/pre>\n<\/li>\n<\/ol>\n<p><strong>LDAP\u590d\u5236<\/strong><\/p>\n<ol>\n<li>OpenLDAP 2.4\u652f\u63015\u79cd\u590d\u5236\u65b9\u5f0f\uff0c\u5176\u4e2dMirrorMode\u63d0\u4f9bLDAP\u8bfb\u5199\u9ad8\u53ef\u7528\u6027\uff0c\u53cc\u673aActive-Active Hot-Standby\uff0c\u524d\u7aef\u5199\u5165\u4e00\u4e2a\u670d\u52a1\u5668\u5373\u53ef\uff0c\u53cc\u673a\u4e92\u76f8\u540c\u6b65\u590d\u5236\uff0c\u53ea\u6709\u4e00\u4e2a\u670d\u52a1\u5668\u7684\u60c5\u51b5\u4e0b\u4e5f\u652f\u6301\u5199\u5165<\/li>\n<li>\u521b\u5efamod_syncprov.ldif\n<pre class=\"lang:default decode:true\">dn: cn=module,cn=config\nobjectClass: olcModuleList\ncn: module\nolcModulePath: \/usr\/lib64\/openldap\nolcModuleLoad: syncprov.la<\/pre>\n<\/li>\n<li>\u7528ldapadd\u5bfc\u5165\n<pre class=\"lang:sh decode:true \">ldapadd -Y EXTERNAL -H ldapi:\/\/\/ -f mod_syncprov.ldif<\/pre>\n<\/li>\n<li>\u521b\u5efasyncprov.ldif\n<pre class=\"lang:default decode:true\">dn: olcDatabase={2}hdb,cn=config\nchangetype: modify\nadd: olcDbIndex\nolcDbIndex: entryCSN,entryUUID eq\n\ndn: olcOverlay=syncprov,olcDatabase={2}hdb,cn=config\nchangeType: add\nobjectClass: olcOverlayConfig\nobjectClass: olcSyncProvConfig\nolcOverlay: syncprov\nolcSpCheckpoint: 100 10\nolcSpSessionLog: 100<\/pre>\n<\/li>\n<li>\u7528ldapmodify\u5bfc\u5165\n<pre class=\"lang:sh decode:true\">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f syncprov.ldif<\/pre>\n<\/li>\n<li>\u521b\u5efasyncuser.ldif\uff0c\u521b\u5efa\u7528\u4e8e\u540c\u6b65\u7684\u7528\u6237\uff0c\u7528slappasswd\u751f\u6210\u5bc6\u7801\u7684\u54c8\u5e0c\u586b\u5165userPassword\u4e2d\u505a\u4e3a\u540c\u6b65\u7528\u6237\u7684\u5bc6\u7801\n<pre class=\"lang:default decode:true \">dn: cn=ldapreader,dc=yaoge123,dc=com\nobjectClass: simpleSecurityObject\nobjectClass: organizationalRole\ncn: ldapreader\ndescription: LDAP reader user \nuserPassword: {SSHA}95M+f4bXaOF4DwJ5HdMY75kkqNXEFJRU<\/pre>\n<\/li>\n<li>\u7528ldapadd\u5bfc\u5165\uff0c\u8f93\u5165RootDN\u5bc6\u7801\n<pre class=\"lang:sh decode:true\">ldapadd -x -W -D cn=Manager,dc=yaoge123,dc=com -H ldapi:\/\/\/ -f syncuser.ldif<\/pre>\n<\/li>\n<li>\u521b\u5efaldap1sync.ldif\uff0ccredentials\u9700\u4e3a\u540c\u6b65\u7528\u6237\u7684\u5bc6\u7801\n<pre class=\"lang:default decode:true\">dn: cn=config\nchangeType: modify\nadd: olcServerID\nolcServerID: 1\n\ndn: olcDatabase={2}hdb,cn=config\nchangeType: modify\nadd: olcSyncrepl\nolcSyncrepl: rid=001 provider=ldaps:\/\/ldap2 bindmethod=simple binddn=\"cn=ldapreader,dc=yaoge123,dc=com\" credentials=yaoge123 searchbase=\"dc=yaoge123,dc=com\" schemachecking=on type=refreshAndPersist retry=\"60 +\" tls_cacert=\/etc\/openldap\/certs\/ca-cert.pem\n-\nadd: olcMirrorMode\nolcMirrorMode: TRUE<\/pre>\n<\/li>\n<li>\u5728ldap1\u4e0a\u7528ldapmodify\u5bfc\u5165\n<pre class=\"lang:sh decode:true \">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f ldap1sync.ldif<\/pre>\n<\/li>\n<li>\u521b\u5efaldap2sync.ldif\uff0ccredentials\u9700\u4e3a\u540c\u6b65\u7528\u6237\u7684\u5bc6\u7801\n<pre class=\"lang:default decode:true \">dn: cn=config\nchangeType: modify\nadd: olcServerID\nolcServerID: 2\n\ndn: olcDatabase={2}hdb,cn=config\nchangeType: modify\nadd: olcSyncrepl\nolcSyncrepl: rid=001 provider=ldaps:\/\/ldap1 bindmethod=simple binddn=\"cn=ldapreader,dc=yaoge123,dc=com\" credentials=yaoge123 searchbase=\"dc=yaoge123,dc=com\" schemachecking=on type=refreshAndPersist retry=\"60 +\" tls_cacert=\/etc\/openldap\/certs\/ca-cert.pem\n-\nadd: olcMirrorMode\nolcMirrorMode: TRUE<\/pre>\n<\/li>\n<li>\u5728ldap2\u4e0a\u7528ldapmodify\u5bfc\u5165\n<pre class=\"lang:sh decode:true\">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f ldap2sync.ldif<\/pre>\n<\/li>\n<li>\u4fee\u6539\u5176\u4e2d\u4e00\u4e2a\u670d\u52a1\u5668\u4e0a\u7684LDAP\uff0c\u67e5\u770b\u53e6\u4e00\u4e2a\u670d\u52a1\u5668\u662f\u5426\u81ea\u52a8\u540c\u6b65\u3002<\/li>\n<li>\u5982\u679c\u540c\u6b65\u6709\u95ee\u9898\uff0c\u7528\u8c03\u8bd5\u6a21\u5f0f\u8fd0\u884cldap\n<pre class=\"lang:sh decode:true \">\/usr\/sbin\/slapd -u ldap -g ldap -h \"ldapi:\/\/ ldaps:\/\/\" -d -1<\/pre>\n<\/li>\n<\/ol>\n<p><strong>\u8fc1\u79fb\u5df2\u6709\u7528\u6237<\/strong><\/p>\n<ol>\n<li>\u5b89\u88c5\u8fc1\u79fb\u5de5\u5177\n<pre class=\"lang:sh decode:true \">yum install -y migrationtools<\/pre>\n<\/li>\n<li>vi \/usr\/share\/migrationtools\/migrate_common.ph\uff0c\u4fee\u6539\u9ed8\u8ba4dc\n<pre class=\"lang:default decode:true \"># Default DNS domain\n$DEFAULT_MAIL_DOMAIN = \"yaoge123.com\";\n\n# Default base\n$DEFAULT_BASE = \"dc=yaoge123,dc=com\";\n<\/pre>\n<\/li>\n<li>\u5904\u7406\u4e00\u4e0bpasswd\u548cgroup\uff0c\u628a\u7cfb\u7edf\u8d26\u53f7\u90fd\u53bb\u6389\uff0c\u5bf9\u4e8eRHEL7\/CentOS7\u6765\u8bf4\uff0c\u7cfb\u7edf\u8d26\u53f7\u90fd\u662f&lt;1000\u7684\uff0cmigrate_passwd.pl\u4f1a\u4ece\/etc\/shadow\u63d0\u53d6\u5bc6\u7801\u4fe1\u606f\n<pre class=\"lang:sh decode:true\">grep \":10[0-9][0-9]\" \/etc\/passwd &gt; passwd\ngrep \":10[0-9][0-9]\" \/etc\/group &gt; group\n\/usr\/share\/migrationtools\/migrate_passwd.pl passwd users.ldif\n\/usr\/share\/migrationtools\/migrate_group.pl group groups.ldif<\/pre>\n<\/li>\n<li>\u5bfc\u5165LDAP\u4e2d\uff0c\u8f93\u5165RootDN\u5bc6\u7801\n<pre class=\"lang:sh decode:true\">ldapadd -x -W -D \"cn=Manager,dc=yaoge123,dc=com\" -H ldapi:\/\/\/ -f users.ldif\nldapadd -x -W -D \"cn=Manager,dc=yaoge123,dc=com\" -H ldapi:\/\/\/ -f groups.ldif\n<\/pre>\n<\/li>\n<li>\u521b\u5efaindex.ldif\uff0c\u505a\u4e00\u4e9b\u7d22\u5f15\uff0c\u6700\u597d\u65e5\u5fd7\u4e2d\u6ca1\u6709bdb_equality_candidates\n<pre class=\"lang:default decode:true \">dn: olcDatabase={2}hdb,cn=config\nchangetype: modify\nadd: olcDbIndex\nolcDbIndex: uid,uidNumber,gidNumber,member,memberUid eq<\/pre>\n<\/li>\n<li>\u5bfc\u5165LDAP\u4e2d\n<pre class=\"lang:sh decode:true \">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f index.ldif<\/pre>\n<\/li>\n<\/ol>\n<p><strong>\u4fee\u6539LDAP ACL\uff1a<\/strong><\/p>\n<ol>\n<li>\u5bc6\u7801\u548c\u5bc6\u7801\u4fee\u6539\u65f6\u95f4\uff0cRootDN\u53ef\u7ba1\u7406\uff0c\u81ea\u5df1\u53ef\u5199\uff0c\u540c\u6b65\u7528\u6237\u53ef\u8bfb\uff0c\u533f\u540d\u548c\u666e\u901a\u7528\u6237\u53ea\u80fdBind\u8fdb\u884c\u8ba4\u8bc1<\/li>\n<li>\u5176\u5b83\u6240\u6709RootDN\u53ef\u7ba1\u7406\uff0c\u533f\u540d\u548c\u666e\u901a\u7528\u6237\u53ef\u8bfb<\/li>\n<li>\u4ee5\u4e0aACL\u4fdd\u8bc1\u4e86\u5bc6\u7801\u5b89\u5168\u6027\uff0c\u505a\u6210\u4e00\u4e2aaccess.ldif\u6587\u4ef6\n<pre class=\"lang:default decode:true\">dn: olcDatabase={2}hdb,cn=config\nchangetype: modify\nreplace: olcAccess\nolcAccess: {0}to dn.children=\"dc=nnlmhpcc\" attrs=userPassword,shadowLastChange\n  by dn=\"cn=Manager,dc=nnlmhpcc\" manage\n  by dn.base=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\" manage\n  by dn=\"cn=ldapreader,dc=nnlmhpcc\" read\n  by self write\n  by * auth\nolcAccess: {1}to *\n  by dn=\"cn=Manager,dc=nnlmhpcc\" manage\n  by dn.base=\"gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth\" manage\n  by * read\n<\/pre>\n<\/li>\n<li>\u5bfc\u5165LDAP\u4e2d\uff0c\u8f93\u5165RootDN\u5bc6\u7801\n<pre class=\"lang:sh decode:true\">ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f access.ldif<\/pre>\n<\/li>\n<li>\u786e\u8ba4\u533f\u540d\u548c\u666e\u901a\u7528\u6237\u65e0\u6cd5\u67e5\u770b\u5bc6\u7801\uff0c\u4e24\u53f0LDAP\u540c\u6b65\u6b63\u5e38(\u542b\u5bc6\u7801)\uff0c\u7528\u6237\u81ea\u5df1\u53ef\u4ee5\u81ea\u5df1\u4fee\u6539\u5bc6\u7801<\/li>\n<li>\u5982\u679c\u6709\u95ee\u9898\uff0c\u7528ldapmodify -Y EXTERNAL -H ldapi:\/\/\/ -f\u5bfc\u5165\u4e0b\u9762\u7684\u6587\u4ef6\u6253\u5f00ACL\u7684\u65e5\u5fd7\u68c0\u67e5\uff0c\u68c0\u67e5\u5b8c\u522b\u5fd8\u4e86\u628aACL\u65e5\u5fd7\u5173\u6389\n<pre class=\"lang:default decode:true\">dn: cn=config\nchangetype: modify\nreplace: olcLogLevel\nolcLogLevel: acl stats stats2 shell sync<\/pre>\n<\/li>\n<\/ol>\n<p><strong>LDAP\u8ba4\u8bc1\u7684\u5ba2\u6237\u7aef\uff1a<\/strong><\/p>\n<ol>\n<li>\u5b89\u88c5nss-pam-ldapd\n<pre class=\"lang:sh decode:true\">yum install -y nss-pam-ldapd<\/pre>\n<\/li>\n<li>\u914d\u7f6e\u666e\u901a\u7528\u6237\u4f7f\u7528LDAP\u8ba4\u8bc1\uff0c\u56e0\u4e3a\u5df2\u7ecf\u4f7f\u7528ldaps\u6545\u9700disableldaptls\uff0cbashdn\u4e0b\u5fc5\u987b\u5305\u542bPeople\u548cGroup\n<pre class=\"lang:sh decode:true\">authconfig --enableldap --enableldapauth --ldapserver=\"ldaps:\/\/ldap1,ldaps:\/\/ldap2\" --ldapbasedn=\"dc=yaoge123,dc=com\" --disableldaptls --ldaploadcacert=http:\/\/www.yaoge123.com\/ca-cert.pem --updateall<\/pre>\n<\/li>\n<li>\u6d4b\u8bd5\u7528\u6237\u767b\u5f55\u3001\u4fee\u6539\u5bc6\u7801\u662f\u5426\u6b63\u5e38\u3002<\/li>\n<\/ol>\n<p>\u5bf9\u4e8e\u865a\u62df\u5316\u90e8\u7f72\u7684ldap1\u548cldap2\uff0c\u9700\u8981\u6dfb\u52a0\u89c4\u5219\u8ba9\u4e24\u4e2a\u865a\u673a\u4e0d\u5728\u540c\u4e00\u4e2a\u4e3b\u673a\u4e0a\u8fd0\u884c\u3002<\/p>\n<p>\u96c6\u7fa4\u8282\u70b9\u8f83\u591a\u65f6\uff0cslapd\u4f1a\u62a5\u9519Too many open files\u3002\u53c2\u8003http:\/\/smilejay.com\/2016\/06\/centos-7-systemd-conf-limits\/\u548chttp:\/\/www.cnblogs.com\/chris-cp\/p\/6667753.html\uff0c\u4fee\u6539slapd\u7684Max open files\u9650\u5236\uff0c \u67e5\u770b\u9650\u5236\uff1a<\/p>\n<pre class=\"lang:sh decode:true \">grep files \/proc\/`pidof slapd`\/limits<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u76ee\u6807\u662fldap1\u548cldap2\u505a\u6210\u9ad8\u53ef\u7528LDAP\u4e3a\u96c6\u7fa4\u4e2d\u6240\u6709\u8282\u70b9\u63d0\u4f9b\u8eab\u4efd\u9a8c\u8bc1\u670d\u52a1\u3002 \u4e00\u3001LDAP\u670d\u52a1\u7aef\uff0cldap [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[11],"tags":[229],"class_list":["post-1200","post","type-post","status-publish","format-standard","hentry","category-xnix","tag-ldap"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/paOwEq-jm","_links":{"self":[{"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/posts\/1200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/comments?post=1200"}],"version-history":[{"count":76,"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/posts\/1200\/revisions"}],"predecessor-version":[{"id":1420,"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/posts\/1200\/revisions\/1420"}],"wp:attachment":[{"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/media?parent=1200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/categories?post=1200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.yaoge123.com\/blog\/wp-json\/wp\/v2\/tags?post=1200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}