当前位置:   article > 正文

服务器集群配置LDAP统一认证高可用集群(配置tsl安全链接)-centos9stream-openldap2.6.2_ldap启用636端口号

ldap启用636端口号

写在前面

因之前集群为centos6,已经很久没升级了,所以这次配置统一用户认证也是伴随系统升级到centos9时一起做的配套升级。新版的openldap配置大致与老版本比较相似,但有些地方配置还是有变化,另外,铺天盖地的帮助文档有相当一部分是直接搬砖过来的,所以参考时容易出错,这里将自己实践的内容一一共享,让大家更方便,更实用。

另外,openldap的配置一般都采用ldif文件配置后使用命令导入,如果有人写的是要直接修改config目录下的文件的话赶紧绕道吧,那不是推荐的写法,会把你的配置搞乱的。

高可用多主服务安装(配置tsl安全链接)

准备服务节点(这里用三主模式)

host1        192.168.1.11        id=1

host2        192.168.1.12        id=2

host3        192.168.1.13        id=3

节点ip和节点名大家自己配置吧,这里不啰嗦了。

当然,安装统一认证主要是为了用户统一,方便维护管理,还有一个就是需要集群用户认证的高可用,防止单个节点宕机引起认证服务无法使用。

高可用方式有多种,大家任选一种就行, 选择任意两个管理主机做主主服务节点直接部署

1、openldap在两个主机上(一般2个就行了,我这里用了3个,现在服务器稳定性还行,一般大家不用纠结)

2、将openldap部署在虚拟机上,云主机或者hyper-v或者kvm virtio都行,这个的好处就是服务节点down机后只需要将虚拟机移到可用节点上就完成了,虚拟机部署和恢复速度都比较快。

3、将openldap部署在docker容器中,当然其他容器也行,这个更方便了,只需要备份好镜像,需要的时候直接在新节点上导入就可以开始运行,平时开销还比虚拟机小,恢复速度更快。

4、部署在远程云主机系统中,这个要涉及远程和云主机安全配置,会稍微麻烦一点 

安装基础包

主服务节点安装就行,但为了方便建议所有主节点和计算节点都直接批量安装,后面不用麻烦了。

  1. ###查看已有ldap安装包,如果没有的话请打开crb源和epel源,这里不细说了。
  2. yum list | grep openldap
  3. openldap.x86_64 2.6.2-2.el9 @baseos
  4. openldap-clients.x86_64 2.6.2-2.el9 @baseos
  5. openldap-compat.x86_64 2.6.2-2.el9 @baseos
  6. openldap-servers.x86_64 2.6.2-2.el9 @epel
  7. collectd-openldap.x86_64 5.12.0-24.el9 epel
  8. openldap.i686 2.6.3-1.el9 baseos
  9. openldap.x86_64 2.6.3-1.el9 baseos
  10. openldap-clients.x86_64 2.6.3-1.el9 baseos
  11. openldap-compat.i686 2.6.3-1.el9 baseos
  12. openldap-compat.x86_64 2.6.3-1.el9 baseos
  13. openldap-devel.i686 2.6.3-1.el9 appstream
  14. openldap-devel.x86_64 2.6.3-1.el9 appstream
  15. ##这里神奇的就是2.6.3版本默认没有servers,所以大家要安装2.63的server的话就需要自己再找安装源了,所以建议大家几个安装包直接用2.6.2的版本,这样后面要用到ldap库的地方就没啥问题了。
  16. ###安装必须的软件包,因服务端也同时用ldap的统一认证,所以建议一起连clients都装上,同时装才能自动选择相同版本,否则会优先选择最高版本,到时候server的包就不好装了,除非直接指定与server包相同的2.6.2版本。
  17. yum install openldap openldap-clients openldap-servers openldap-devel openldap-compat -y
  18. ###安装完成后检查是否齐全
  19. rpm -qa | grep openldap
  20. openldap-servers-2.6.2-2.el9.x86_64
  21. openldap-clients-2.6.2-2.el9.x86_64
  22. openldap-2.6.2-2.el9.x86_64
  23. openldap-compat-2.6.2-2.el9.x86_64

多主服务配置(所有servers)

  1. ###进入配置目录
  2. cd /etc/openldap
  3. ###建议再建立两个文件夹certs和configs,openldap下除conf文件以外,其他所有者均为ldap,系统不带ldap用户的请自己创建系统用户,所有节点ldap用户建议设置相同uid和gid。
  4. mkdir certs configs
  5. ###进入certs目录,生成key,一般使用penssl来生成,自己使用现成的也没问题,有这两个文件就行,名字自己取,后面指定正确路径就行
  6. ###这里放入/etc/openldap/certs
  7. ldapserver.crt
  8. ldapserver.key
  9. ###先进入configs目录,将配置文件写入,可以写好一个应用一个,配置时对应配置项第一次可以使用ldapadd命令添加,第二次修改时采用ldapmodify形式修改,具体命令大家可以参考后面配置使用。
  10. cd /etc/openldap/configs
  11. ####初始化根目录,设定根域
  12. vim base.ldif
  13. dn: dc=jingdong,dc=com
  14. o: ldap
  15. objectclass: dcObject
  16. objectclass: organization
  17. ###应用配置
  18. ldapadd -Y EXTERNAL -H ldapi:/// -f base.ldif
  19. ###一般情况下slapd.d目录下应该有配置的文件夹和配置保存数据库了,没有或者不确定的话可以删除配置目录/etc/openldap/slapd.d/下的所有文件和文件夹后重新生成,这里的slapd.ldif自己按后面规则编写。
  20. slapadd -n 0 -F slapd.d -l slapd.ldif
  21. ###配置应用命令一般是ldapadd和ldapmodify这两个
  22. ###openlap配置入口有三种,第一种直接本地api操作,后面都是接ip地址或域名,建议使用ldaps,端口636,而ldap的是默认端口389,端口配置可根据自己需求修改,如自定义端口,后期使用的时候都要加上端口才能访问成功
  23. # ldapi:///
  24. # ldap:///
  25. # ldaps:///
  26. ############配置系统服务入口,多个ip时指定想要开放的ip就行,按格式添加就行了, 当然还可以开放ldaps://
  27. vim /etc/sysconfig/slapd
  28. SLAPD_URLS="ldapi:/// ldap://192.168.1.11"
  29. #######################################################################
  30. ###具体大家看系统服务和系统端口开启情况就知道了。
  31. systemctl daemon-reload
  32. systemctl enable slapd --now
  33. systemctl status slapd

 下面继续基础配置

  1. ###先管理基础配置
  2. ###应用配置采用ldapadd命令,初期配置建议使用本地ldapi接口,后面配置应用命令与此相同,具体参数大家自己多搜一下熟悉就行,如果只是一般管理的话这里的使用命令应该是足够了。一般配置文件会指定dn,所以-D这个参数可以不指定。
  3. ldapadd -Y EXTERNAL -D "cn=config" -H ldapi:/// -f syncprov.ldif
  4. #另外两种应用格式,需要ip和端口号,默认的389可以不写,但自定义端口一定要写。-W启用后会要输入密码,所以需要先设定好根域密码,密码修改方式见下方,-D表示操作设置那个域,一般会在ldif文件中指定,可以省略。
  5. ldapadd -x -D "cn=config" -H ldap://192.168.1.11 -W -f syncprov.ldif
  6. ldapadd -x -D "cn=config" -H ldaps://192.168.1.11:636 -W -f syncprov.ldif
  7. ###导入一些基础配置,大家根据实际需求选吧,不一定要全部导入
  8. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
  9. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
  10. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif
  11. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/collective.ldif
  12. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/corba.ldif
  13. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/duaconf.ldif
  14. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/dyngroup.ldif
  15. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/java.ldif
  16. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/misc.ldif
  17. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/openldap.ldif
  18. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/pmi.ldif
  19. ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/ppolicy.ldif
  20. ######################################################################################
  21. ###这里大家一定要注意看一下,很多配置文件这里写的是{2}hdb,实际上2.6.2的配置都在mdb下,大家注意了。 大家可以看一下路径下面的内容就清楚了。自定义参数时,ldif文件前指定对应数据库的dn,如dn: olcDatabase={0}config,cn=config就是指修改下面olcDatabase={0}config.ldif数据库中的配置,dn:olcDatabase={1}monitor.ldif,就是指修改下面olcDatabase={1}monitor.ldif数据库中的配置,每次修改完后可以cat查看修改后的配置情况,但不要直接编辑下面目录中的ldif文件,否则会出现配置文件校验错误。
  22. ls /etc/openldap/slapd.d/cn\=config/
  23. cn=module{0}.ldif cn=schema.ldif olcDatabase={-1}frontend.ldif olcDatabase={2}mdb/
  24. cn=schema/ olcDatabase={0}config.ldif olcDatabase={1}monitor.ldif olcDatabase={2}mdb.ldif
  25. ##大家看看这里都是{2}mdb,后面基于这个路径配置的文件会保存在olcDatabase={2}mdb这个目录下,大家配置完反复看一下这些配置目录里的文件
  26. ######################################################################################
  27. #生成密码字符串,这里使用的是ssha方式加密, -s后面的密码就是自己想设定的明文密码,可以采用交互方式输入,这样明文密码不会显示在history中,提高安全性。
  28. slappasswd -s sdlfkjeioo@3LK
  29. {SSHA}cGUAOenh1/et0kezbZiJsdY/o7e+hSGJ
  30. ###记住这个字符串,后面需要写入配置文件来更新密码
  31. ###编辑修改根域管理密码配置,修改的是olcRootPW,采用modify添加方式
  32. ###当然也可以放在下方管理权限配置里面一同修改。
  33. vim chrootpw.ldif
  34. dn: olcDatabase={0}config,cn=config
  35. changetype: modify
  36. add: olcRootPW
  37. olcRootPW: {SSHA}GDdMN3vBiNHs4fEcDaey6nCdILiY3GYd
  38. ###应用修改
  39. ldapmodify -Y EXTERNAL -H ldapi:/// -f chrootpw.ldif
  40. ########################################################
  41. ###基础配置之后大家可以查看变化,/etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif,大家要看到文件头的提示# AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
  42. 所以千万别手动去修改,容易出错
  43. ###下面是配置截图,仅供参考
  44. ###olc开头的都是可以设定的参数,想设置哪个参数或者添加什么参数,按ldif配置文件的格式编写即可,自定义配置建议统一放置在 /etc/openldap/configs下面,防止与系统配置文件弄混

  1. ###配置管理权限,可以单独配置角色并配置对应的读写权限,dn要写清楚,这里面的dn.base=和后面dn=里面对应的Mangement,jindong,com都可以根据自己喜好或实际修改,但要注意,这个设定后,后面使用时也要按这个来使用,且设定密码或修改对应权限时这个dn都要写全,且不能出错。
  2. ###下方的olcRootPW和前面的步骤里提到的是一样的,表示根域管理的密码
  3. ###olcSuffix表示自己的域,可以理解为组织或单位的名称,如 jd.com, biosafe.org,按照这个修改为dc=jd,dc=com或 dc=biosafe,dc=org
  4. ###olcRootDN就是表示olcSuffix下的一个管理角色Management, 根据自己喜好设定即可,但后面dc要和前面suffix相同。
  5. ###olcAccess就是配置权限了,{0}、{1}、{2}这几个表示的是不同数据库,后面by跟着表示对应角色给予什么权限。
  6. vim admin_config.ldif
  7. dn: olcDatabase={1}monitor,cn=config
  8. changetype: modify
  9. replace: olcAccess
  10. olcAccess: {0}to * by dn.base="gidNumber=0+uidNumber=0,cn=peercred,cn=external, cn=auth" read by dn.base="cn=Management,dc=jindong,dc=com" read by * none
  11. dn: olcDatabase={2}mdb,cn=config
  12. changetype: modify
  13. replace: olcSuffix
  14. olcSuffix: dc=jindong,dc=com
  15. dn: olcDatabase={2}mdb,cn=config
  16. changetype: modify
  17. replace: olcRootDN
  18. olcRootDN: cn=Management,dc=jindong,dc=com
  19. dn: olcDatabase={2}mdb,cn=config
  20. changetype: modify
  21. replace: olcRootPW
  22. olcRootPW: {SSHA}9FYhkbjcu5/JT+jveRmEeE/EgHp6zDVWJ+
  23. dn: olcDatabase={2}mdb,cn=config
  24. changetype: modify
  25. replace: olcAccess
  26. olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Management,dc=jindong,dc=com" write by anonymous auth by self write by * none
  27. olcAccess: {1}to dn.base="" by * read
  28. olcAccess: {2}to * by dn="cn=Management,dc=jindong,dc=com" write by * read
  29. ###应用管理权限配置
  30. ldapadd -Y EXTERNAL -H ldapi:/// -f admin_config.ldif
  31. ###编辑配置tls
  32. vim add_tls.ldif
  33. dn: cn=config
  34. changetype: modify
  35. replace: olcTLSCACertificateFile
  36. olcTLSCACertificateFile: /etc/openldap/certs/ldapserver.crt
  37. dn: cn=config
  38. changetype: modify
  39. replace: olcTLSCertificateKeyFile
  40. olcTLSCertificateKeyFile: /etc/openldap/certs/ldapserver.key
  41. dn: cn=config
  42. changetype: modify
  43. replace: olcTLSCertificateFile
  44. olcTLSCertificateFile: /etc/openldap/certs/ldapserver.crt
  45. ###应用配置
  46. ldapadd -Y EXTERNAL -H ldapi:/// -f add_tls.ldif

配置主主同步

  1. ###配置数据库同步
  2. vim syncprov.ldif
  3. dn: olcOverlay=syncprov,olcDatabase={2}mdb,cn=config
  4. objectClass: olcOverlayConfig
  5. objectClass: olcSyncProvConfig
  6. olcOverlay: syncprov
  7. olcSpSessionLog: 100
  8. ###应用配置
  9. ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov.ldif
  10. ###配置开启数据同步模块,大家看一下目录下的文件就了解了,如果是手动安装在指定目录下,这个lib位置可能要修改成对应目录,总之是要找到路径/usr/lib64/openldap/下的syncprov.la这个文件
  11. vim syncprov_mod.ldif
  12. dn: cn=module,cn=config
  13. objectClass: olcModuleList
  14. cn: module
  15. olcModulePath: /usr/lib64/openldap
  16. olcModuleLoad: syncprov.la
  17. ###应用配置
  18. ldapadd -Y EXTERNAL -H ldapi:/// -f syncprov_mod.ldif
  19. ###配置日志级别
  20. vim log_config.ldif
  21. dn: cn=config
  22. changetype: modify
  23. add: olcLogLevel
  24. olcLogLevel: stats
  25. #stats为打印日志的级别,可根据不同的级别设置不同的值
  26. ###应用配置,这里使用modify模式
  27. ldapmodify -Y EXTERNAL -H ldapi:/// -f log_config.ldif
  28. #####openldap日志级别,看不懂的自己翻译去吧,不难:
  29. Level Keyword Description
  30. -1 any enable all debugging
  31. 0 no debugging
  32. 1 (0x1 trace) trace function calls
  33. 2 (0x2 packets) debug packet handling
  34. 4 (0x4 args) heavy trace debugging
  35. 8 (0x8 conns) connection management
  36. 16 (0x10 BER) print out packets sent and received
  37. 32 (0x20 filter) search filter processing
  38. 64 (0x40 config) configuration processing
  39. 128 (0x80 ACL) access control list processing
  40. 256 (0x100 stats) stats log connections/operations/results
  41. 512 (0x200 stats2) stats log entries sent
  42. 1024 (0x400 shell) print communication with shell backends
  43. 2048 (0x800 parse) print entry parsing debugging
  44. 16384 (0x4000 sync) syncrepl consumer processing
  45. 32768 (0x8000 none) only messages that get logged whatever log level is set
  46. ######
  47. ##可以选择配置rsyslog
  48. # 修改/etc/rsyslog.conf配置文件
  49. cat >> /etc/rsyslog.conf << EOF
  50. local4.* /var/log/slapd/slapd.log
  51. EOF
  52. ###然后重启rsyslog应用:
  53. mkdir -p /var/log/slapd
  54. chown ldap:ldap /var/log/slapd/
  55. systemctl restart rsyslog
  56. systemctl restart slapd
  57. # 重启看到日志
  58. ls /var/log/slapd/
  59. # /var/log/slapd/slapd.log目录下就可以看到slapd产生的日志了。
  60. ##配置禁止匿名用户访问,一般为了安全都需要设置,这里配置的是不允许匿名用户通过ip访问查看数据内容,不允许web服务前端匿名用户登陆,主要指ldapphpadmin的网络管理,后面会详细说明配置。
  61. vim disable_anon.ldif
  62. dn: cn=config
  63. changetype: modify
  64. add: olcDisallows
  65. olcDisallows: bind_anon
  66. dn: cn=config
  67. changetype: modify
  68. add: olcRequires
  69. olcRequires: authc
  70. dn: olcDatabase={-1}frontend,cn=config
  71. changetype: modify
  72. add: olcRequires
  73. olcRequires: authc
  74. ###应用配置
  75. ldapadd -Y EXTERNAL -H ldapi:/// -f disable_anon.ldif
  76. ####################################################################################
  77. ####再提醒一下的就是所有采用命令生成的配置文件ldif都标明了不要手动修改,所以大家不要直接修改这里的ldif文件,否则后面会提示错误,或者在使用命令修改后,这个文件的配置就会对应修改,而且每个都有时间戳,破坏了系统就会显示检测到配置错误。
  78. cat /etc/openldap/slapd.d/cn=config.ldif
  79. # AUTO-GENERATED FILE - DO NOT EDIT!! Use ldapmodify.
  80. # CRC32 21c2b603
  81. dn: cn=config
  82. objectClass: olcGlobal
  83. cn: config
  84. structuralObjectClass: olcGlobal
  85. entryUUID: 2527141e-d799-103d-8820-417a1b6d07b1
  86. creatorsName: cn=config
  87. createTimestamp: 20230825134340Z
  88. olcDisallows: bind_anon
  89. olcRequires: authc
  90. olcLogLevel: stats
  91. olcTLSCACertificateFile: /etc/openldap/certs/ldapserver.crt
  92. olcTLSCertificateKeyFile: /etc/openldap/certs/ldapserver.key
  93. olcTLSCertificateFile: /etc/openldap/certs/ldapserver.crt
  94. olcServerID:: MSA=
  95. entryCSN: 20231115075749.487914Z#000000#002#000000
  96. modifiersName: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
  97. modifyTimestamp: 20231115075749Z
  98. ####################################################################################
  99. ###前面配置所有服务主机都配置相同的根域管理和密码,当然也可以不同,但下面对应的bindn和credentials就得做相应修改。
  100. ###配置主机id及同步主机策略等
  101. #olcServerID,按顺序第几个主机就写对应数字作为对应编号,按自己喜好修改
  102. #下面配置同步主机
  103. # olcSyncRepl 后面配置另外其他主机的信息,一般配置一个就行,这里三个节点,所以配置了2个。其他两台主机注意修改,这里第一个主机所以需要同步的是23主机,如果是第二个主机,这里改成13号。
  104. # olcMirrorMode表示主主同步,与主从模式区别。
  105. ###########################host1####################################
  106. vim configrep.ldif
  107. ### Update Server ID with LDAP URL ###
  108. dn: cn=config
  109. changetype: modify
  110. replace: olcServerID
  111. olcServerID: 1
  112. ### Adding details for replication ###
  113. dn: olcDatabase={2}mdb,cn=config
  114. changetype: modify
  115. replace: olcSyncRepl
  116. olcSyncRepl:
  117. rid=002
  118. provider=ldap://192.168.1.12
  119. binddn="cn=Management,dc=jingdong,dc=com"
  120. bindmethod=simple
  121. credentials=这里的密码与前面一致,可以明文,建议使用前面的加密字符串
  122. searchbase="dc=jingdong,dc=com"
  123. type=refreshAndPersist
  124. retry="5 5 300 5"
  125. timeout=1
  126. olcSyncRepl:
  127. rid=003
  128. provider=ldap://192.168.1.13
  129. binddn="cn=Management,dc=jingdong,dc=com"
  130. bindmethod=simple
  131. credentials=这里的密码与前面一致,可以明文,建议使用前面的加密字符串
  132. searchbase="dc=jingdong,dc=com"
  133. type=refreshAndPersist
  134. retry="5 5 300 5"
  135. timeout=1
  136. -
  137. replace: olcMirrorMode
  138. olcMirrorMode: TRUE
  139. ###########################################################################
  140. #################################host2#####################################
  141. vim configrep.ldif
  142. ### Update Server ID with LDAP URL ###
  143. dn: cn=config
  144. changetype: modify
  145. replace: olcServerID
  146. olcServerID: 1
  147. ### Adding details for replication ###
  148. dn: olcDatabase={2}mdb,cn=config
  149. changetype: modify
  150. replace: olcSyncRepl
  151. olcSyncRepl:
  152. rid=001
  153. provider=ldap://192.168.1.11
  154. binddn="cn=Management,dc=jingdong,dc=com"
  155. bindmethod=simple
  156. credentials=这里的密码与前面一致,可以明文,建议使用前面的加密字符串
  157. searchbase="dc=jingdong,dc=com"
  158. type=refreshAndPersist
  159. retry="5 5 300 5"
  160. timeout=1
  161. olcSyncRepl:
  162. rid=003
  163. provider=ldap://192.168.1.13
  164. binddn="cn=Management,dc=jingdong,dc=com"
  165. bindmethod=simple
  166. credentials=这里的密码与前面一致,可以明文,建议使用前面的加密字符串
  167. searchbase="dc=jingdong,dc=com"
  168. type=refreshAndPersist
  169. retry="5 5 300 5"
  170. timeout=1
  171. -
  172. replace: olcMirrorMode
  173. olcMirrorMode: TRUE
  174. ###############################################################################
  175. ###应用配置
  176. ldapadd -Y EXTERNAL -H ldapi:/// -f configrep.ldif

前面所有服务节点配置完成后最好是按顺序重新启动一下slapd服务,并确认所有服务状态和数据库同步无错误信息

  1. ###所有slapd节点,基本就是下面三个命令确认一下就行
  2. systemctl restart slapd
  3. systemctl status slapd
  4. journal -xe | grep lapd

高可用配置keepalived+haproxy

怎么配置keepalived和haproxy大家搜索吧,本人后面会补充上

这里仅修改haproxy 关于 openldap高可用配置选段

  1. ##修改/etc/haproxy/haproxy.cfg,haproxy版本 2.8.1
  2. ##添加下面内容
  3. listen openldap_cluster
  4. bind 192.168.1.251:10389
  5. mode tcp
  6. option tcplog
  7. balance roundrobin
  8. server host1 192.168.1.11:389 check weight 5
  9. server host2 192.168.1.12:389 check weight 5
  10. server host3 192.168.1.13:389 check weight 5

复制haproxy配置到所有haproxy节点下,重新启动 haproxy服务,后面所有认证服务都可以使用ldap://192.168.1.251:10389这个地址。

添加用户组和用户

  1. ####批量导入导出原来系统已有的账号和用户组需要使用migrationtools,高版本的centos需要单独找安装源了。
  2. ###这里人员账户信息是按照migrationtools导出系统账户的格式,大家添加用户或者批量导入账户的都可以采用这种方式对应修改即可,有多少个人就添加多少个模块信息。
  3. ###这里的呃userPassword可以直接明文,但不建议,用户密码还是建议使用slappasswd生成后写入下面文件吧,但得注意明文密码单独记录,
  4. ###这里还可以添加其他email之类的账户参数,大家搜索一下就知道了。
  5. ###建议大家直接指定gid和uid,系统默认创建用户会从uid=500开始,个人一般喜好将小于1000的id留给系统账户,方便安全管理。
  6. ##分别编辑group和user配置文件
  7. ############################################################
  8. vim add_group.ldif
  9. dn: cn=liuqiangdong,ou=Group,dc=jingdong,dc=com
  10. objectClass: posixGroup
  11. objectClass: top
  12. cn: liuqiangdong
  13. gidNumber: 1601
  14. dn: cn=zhangtianze,ou=Group,dc=jingdong,dc=com
  15. objectClass: posixGroup
  16. objectClass: top
  17. cn: zhangtianze
  18. gidNumber: 1602
  19. ###########################################################
  20. ############################################################
  21. vim add_user.ldif
  22. dn: uid=liuqiangdong,ou=People,dc=jingdong,dc=com
  23. uid: liuqiangdong
  24. cn: liuqiangdong
  25. objectClass: account
  26. objectClass: posixAccount
  27. objectClass: top
  28. objectClass: shadowAccount
  29. userPassword: {SSHA}22idPfpP0R2THBaxqpr14bawdKJKpeTC
  30. shadowLastChange: 19333
  31. shadowMin: 0
  32. shadowMax: 99999
  33. shadowWarning: 7
  34. loginShell: /bin/bash
  35. uidNumber: 1601
  36. gidNumber: 1601
  37. homeDirectory: /home/liuqiangdong
  38. dn: uid=zhangtianze,ou=People,dc=jingdong,dc=com
  39. uid: zhangtianze
  40. cn: zhangtianze
  41. objectClass: account
  42. objectClass: posixAccount
  43. objectClass: top
  44. objectClass: shadowAccount
  45. userPassword: {SSHA}22idPfpP0R2THBaxqpr14bawdKJKpeTC
  46. shadowLastChange: 19333
  47. shadowMin: 0
  48. shadowMax: 99999
  49. shadowWarning: 7
  50. loginShell: /bin/bash
  51. uidNumber: 1602
  52. gidNumber: 1602
  53. homeDirectory: /home/zhangtianze
  54. ##############################################################
  55. ###添加用户,用户信息重复时会报错,修改成新的不重复信息或者使用ldapmodify命令修改。
  56. ldapadd -x -D "cn=Management,dc=jingdong,dc=com" -H ldapi:/// -W -f new_group.ldif
  57. ldapadd -x -D "cn=Management,dc=jingdong,dc=com" -H ldapi:/// -W -f add_user.ldif
  58. #
  59. #添加用户后最好确认已经建立好用户对应的文件夹,也可以配置自动建立用户文件夹,但系统未能自动建立时还需要手动建立。

配置phpldapadmin(选配)

这个是web管理界面,可以选择安装,没有安装的话直接使用ldapsearch命令按指定域查询信息即可。

补充phpldapadmin配置和简单操作:

OpenLDAP配置web管理界面PhpLDAPAdmin服务-centos9stream-CSDN博客之前已经发了一篇关于centos9下面配置openldap多主高可用集群的内容,不会配置ldap集群的请参考:这里跟着前篇文章详细说明如何配置openldap的web管理界面PhpLDAPAdmin;https://blog.csdn.net/zrc_xiaoguo/article/details/134524492?spm=1001.2014.3001.5501

客户端配置

需要统一认证的server物理机也建议一起配置

先配置slapd.conf 的

  1. ###客户端主要安装clients配置,建议都按前面server形式安全全吧, 只要不启用slapd服务即可。
  2. ###安装完后先配置slapd.conf
  3. ###主要修改或添加下面几行,其他的可以注释掉
  4. vim /etc/openldap/slapd.conf
  5. DEREF never
  6. SASL_NOCANON on
  7. TLS_REQCERT never
  8. TLS_CACERT /etc/openldap/certs/ldapserver.crt
  9. URI ldap://192.168.1.11,ldap://192.168.1.12,ldap://192.168.1.13
  10. BASE dc=liuqiangdong,dc=com
  11. # 配置了haproxy高可用的可以直接使用前面的URI ldap://192.168.1.251:10389
  12. # 当然如果为安全考虑可以只使用 ldaps://的链接,对应的haproxy部分和这里的地址都需要做相应调整

在配置sssd及sshd

  1. ###安装sssd
  2. yum install sssd -y
  3. ###生成certs证书,这里直接使用前面ldapserver的
  4. ls /etc/sssd/pki
  5. ldapserver.crt ldapserver.key
  6. ###配置sssd
  7. vim sssd.conf
  8. [sssd]
  9. services = nss, pam, ssh, autofs
  10. config_file_version = 2
  11. domains = ldap
  12. [nss]
  13. fd_limit = 65535
  14. filter_groups = root,bin,daemon,sys,adm,tty,disk,lp,mem,kmem,wheel,mail,uucp,man,games,gopher,video,dip,ftp,lock,audio,nobody,users,dbus,utmp,utempter,floppy,vcsa,stapusr,stapsys,stapdev,abrt,cdrom,tape,dialout,haldaemon,ntp,cgred,saslauth,postdrop,postfix,sshd,oprofile,tcpdump,screen,slocate,www,tomcat,apache,nginx,zabbix,rpc,rpcuser,nfsnobody
  15. filter_users = root,bin,daemon,adm,lp,sync,shutdown,halt,mail,uucp,operator,games,gopher,ftp,nobody,dbus,vcsa,abrt,haldaemon,ntp,saslauth,postfix,sshd,oprofile,tcpdump,www,tomcat,apache,nginx,zabbix,rpc,rpcuser,nfsnobody,ldap
  16. homedir_substring = /home
  17. [domain/ldap]
  18. autofs_provider = ldap
  19. id_provider = ldap
  20. auth_provider = ldap
  21. chpass_provider = ldap
  22. default_shell = /bin/bash
  23. ldap_id_use_start_tls = True
  24. ldap_tls_cacertdir = /etc/sssd/pki
  25. cache_credentials = True
  26. ldap_tls_reqcert = never
  27. ###这里可以使用ldaps的安全链接和高可用链接,如果配置了的话
  28. ldap_uri = ldap://192.168.1.11,ldap://192.168.1.12,ldap://192.168.1.13
  29. ldap_search_base = dc=jingdong,dc=com
  30. ldap_user_search_base = ou=People,dc=jingdong,dc=com
  31. ldap_group_search_base = ou=Group,dc=jingdong,dc=com
  32. ###重启sssd服务
  33. ###修改sshd_config配置
  34. vim /etc/ssh/sshd_config
  35. PermitEmptyPasswords no
  36. PasswordAuthentication yes
  37. UsePAM yes
  38. #修改后重新启动sshd服务
  39. ##退出系统再进入服务器,验证登陆
  40. id liuqiangdong
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/82309
推荐阅读
相关标签
  

闽ICP备14008679号