ຊຸດ RHCSA: ການຕັ້ງຄ່າການກວດສອບຄວາມຖືກຕ້ອງຕາມ LDAP ໃນ RHEL 7 - ພາກ 14
ພວກເຮົາຈະເລີ່ມຕົ້ນບົດຄວາມນີ້ໂດຍການ ກຳ ນົດບາງພື້ນຖານຂອງ LDAP (ມັນແມ່ນຫຍັງ, ບ່ອນໃດທີ່ມັນຖືກໃຊ້ແລະເປັນຫຍັງ) ແລະສະແດງວິທີການຕັ້ງຄ່າ server LDAP ແລະ ກຳ ນົດລູກຄ້າເພື່ອກວດສອບຄວາມຖືກຕ້ອງກັບມັນໂດຍໃຊ້ Red Hat Enterprise Linux 7 ລະບົບ.
ດັ່ງທີ່ພວກເຮົາຈະເຫັນ, ມີຫລາຍໆສະຖານະການການ ນຳ ໃຊ້ທີ່ເປັນໄປໄດ້, ແຕ່ໃນຄູ່ມືນີ້ພວກເຮົາຈະສຸມໃສ່ການກວດສອບຄວາມຖືກຕ້ອງໂດຍອີງໃສ່ LDAP. ນອກຈາກນັ້ນ, ກະລຸນາຈື່ໄວ້ວ່າເນື່ອງຈາກຄວາມກວ້າງໃຫຍ່ຂອງຫົວຂໍ້ດັ່ງກ່າວ, ພວກເຮົາພຽງແຕ່ຈະເວົ້າເຖິງພື້ນຖານຂອງມັນຢູ່ນີ້, ແຕ່ທ່ານສາມາດອ້າງອີງເຖິງເອກະສານທີ່ໄດ້ລະບຸໄວ້ໃນບົດສະຫຼຸບ ສຳ ລັບລາຍລະອຽດທີ່ເລິກເຊິ່ງກວ່າ.
ດ້ວຍເຫດຜົນດຽວກັນນີ້, ທ່ານຈະສັງເກດວ່າຂ້ອຍໄດ້ຕັດສິນໃຈອອກຈາກເອກະສານອ້າງອີງຫຼາຍໆ ໜ້າ ກ່ຽວກັບ ໜ້າ ຜູ້ຊາຍຂອງເຄື່ອງມື LDAP ເພື່ອຈຸດປະສົງຂອງຄວາມແຕກຕ່າງ, ແຕ່ ຄຳ ອະທິບາຍທີ່ສອດຄ້ອງກັນແມ່ນຢູ່ໃນໄລຍະຫ່າງຂອງນິ້ວມື (ຕົວຢ່າງ ldapadd, ຕົວຢ່າງ).
ທີ່ເວົ້າວ່າ, ໃຫ້ເລີ່ມຕົ້ນ.
ສະພາບແວດລ້ອມການທົດສອບຂອງພວກເຮົາປະກອບມີສອງກ່ອງ RHEL 7:
Server: 192.168.0.18. FQDN: rhel7.mydomain.com Client: 192.168.0.20. FQDN: ldapclient.mydomain.com
ຖ້າທ່ານຕ້ອງການ, ທ່ານສາມາດໃຊ້ເຄື່ອງທີ່ຕິດຕັ້ງຢູ່ໃນພາກທີ 12: ການຕິດຕັ້ງແບບອັດຕະໂນມັດ RHEL 7 ໂດຍໃຊ້ Kickstart ເປັນລູກຄ້າ.
LDAP ແມ່ນສັນຍາລັກ ສຳ ລັບ Lightweight Directory Access Protocol ແລະປະກອບດ້ວຍຊຸດໂປແກຼມທີ່ຊ່ວຍໃຫ້ລູກຄ້າສາມາດເຂົ້າເຖິງ, ຜ່ານເຄືອຂ່າຍ, ຂໍ້ມູນທີ່ເກັບໄວ້ເປັນໃຈກາງ (ເຊັ່ນ: ເສັ້ນທາງຂອງຫອຍເຂົ້າສູ່ລະບົບ, ເສັ້ນທາງຢ່າງແທ້ຈິງກັບລາຍການເຮືອນ, ແລະຂໍ້ມູນຜູ້ໃຊ້ລະບົບປົກກະຕິອື່ນໆ, ຕົວຢ່າງ) ທີ່ສາມາດເຂົ້າເຖິງໄດ້ຈາກສະຖານທີ່ຕ່າງໆຫລືສາມາດເຂົ້າເຖິງໄດ້ ສຳ ລັບຜູ້ ນຳ ໃຊ້ທີ່ສຸດ (ຕົວຢ່າງອື່ນຈະເປັນໄດເລກະທໍລີທີ່ຢູ່ເຮືອນແລະເບີໂທລະສັບຂອງພະນັກງານທັງ ໝົດ ໃນບໍລິສັດ).
ການຮັກສາຂໍ້ມູນດັ່ງກ່າວ (ແລະອື່ນໆ) ເປັນໃຈກາງ ໝາຍ ຄວາມວ່າມັນສາມາດຮັກສາແລະເຂົ້າເຖິງໄດ້ງ່າຍຂຶ້ນໂດຍທຸກໆຄົນທີ່ໄດ້ຮັບອະນຸຍາດໃຫ້ ນຳ ໃຊ້ມັນ.
ແຜນວາດດັ່ງຕໍ່ໄປນີ້ສະ ເໜີ ແຜນວາດແບບງ່າຍດາຍຂອງ LDAP, ແລະມີການອະທິບາຍລຸ່ມນີ້:
ການອະທິບາຍແຜນວາດຂ້າງເທິງໃນລາຍລະອຽດ.
<
ທີ່ຖືກກ່າວເຖິງ, ໃຫ້ ດຳ ເນີນການກັບການຕິດຕັ້ງເຊີບເວີແລະລູກຄ້າ.
ການຕິດຕັ້ງແລະ ກຳ ຫນົດຄ່າ LDAP Server ແລະ Client
ໃນ RHEL 7, LDAP ແມ່ນຈັດຕັ້ງປະຕິບັດໂດຍ OpenLDAP. ການຕິດຕັ້ງເຊີບເວີແລະລູກຄ້າ, ໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້, ຕາມ ລຳ ດັບ:
# yum update && yum install openldap openldap-clients openldap-servers # yum update && yum install openldap openldap-clients nss-pam-ldapd
ເມື່ອການຕິດຕັ້ງ ສຳ ເລັດແລ້ວ, ມີບາງສິ່ງທີ່ພວກເຮົາເບິ່ງ. ຂັ້ນຕອນຕໍ່ໄປນີ້ຄວນຈະຖືກປະຕິບັດຢູ່ໃນເຄື່ອງແມ່ຂ່າຍຢ່າງດຽວ, ເວັ້ນເສຍແຕ່ຍົກໃຫ້ເຫັນຢ່າງຈະແຈ້ງ:
1. ໃຫ້ແນ່ໃຈວ່າ SELinux ບໍ່ໄດ້ຮັບການຕອບສະ ໜອງ ໂດຍການເຮັດໃຫ້ booleans ຕໍ່ໄປນີ້ຢ່າງຕໍ່ເນື່ອງ, ທັງໃນ server ແລະລູກຄ້າ:
# setsebool -P allow_ypbind=0 authlogin_nsswitch_use_ldap=0
ບ່ອນທີ່ຕ້ອງການການອະນຸຍາດໃຫ້ໃຊ້ ສຳ ລັບການກວດສອບຄວາມຖືກຕ້ອງຂອງ LDAP, ແລະ authlogin_nsswitch_use_ldap ອາດຈະຕ້ອງການໂດຍບາງໂປແກຼມ.
2. ເປີດໃຊ້ແລະເລີ່ມການບໍລິການ:
# systemctl enable slapd.service # systemctl start slapd.service
ຈົ່ງຈື່ໄວ້ວ່າທ່ານຍັງສາມາດປິດການໃຊ້ງານ, ເລີ່ມຕົ້ນ ໃໝ່ ຫຼືຢຸດການບໍລິການດ້ວຍລະບົບ systemctl ເຊັ່ນກັນ:
# systemctl disable slapd.service # systemctl restart slapd.service # systemctl stop slapd.service
3. ເນື່ອງຈາກວ່າບໍລິການ slapd ເຮັດວຽກເປັນຜູ້ໃຊ້ ldap (ເຊິ່ງທ່ານສາມາດກວດສອບກັບ ps -e -o pid, uname, comm | grep slapd), ຜູ້ໃຊ້ດັ່ງກ່າວຄວນເປັນເຈົ້າຂອງໄດເລກະທໍລີ/var/lib/ldap ເພື່ອໃຫ້ເຄື່ອງແມ່ຂ່າຍສາມາດ ສາມາດດັດແກ້ການອອກສຽງທີ່ຖືກສ້າງຂື້ນໂດຍເຄື່ອງມືການບໍລິຫານເຊິ່ງສາມາດ ດຳ ເນີນການເປັນຮາກເທົ່ານັ້ນ (ຫຼາຍກວ່ານີ້ໃນນາທີ).
ກ່ອນທີ່ຈະປ່ຽນແປງຄວາມເປັນເຈົ້າຂອງຂອງໄດເລກະທໍລີນີ້, ສືບຕໍ່, ຄັດລອກເອກະສານການຕັ້ງຄ່າຖານຂໍ້ມູນຕົວຢ່າງ ສຳ ລັບລົງໃນ:
# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG # chown -R ldap:ldap /var/lib/ldap
4. ຕັ້ງຜູ້ໃຊ້ບໍລິຫານ OpenLDAP ແລະແຕ່ງຕັ້ງລະຫັດຜ່ານ:
# slappasswd
ດັ່ງທີ່ສະແດງຢູ່ໃນຮູບຕໍ່ໄປ:
ແລະສ້າງເອກະສານ LDIF (ldaprootpasswd.ldif) ໂດຍມີເນື້ອໃນຕໍ່ໄປນີ້:
dn: olcDatabase={0}config,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD
ບ່ອນທີ່:
<
ໂດຍອ້າງອີງໃສ່ພື້ນຖານທາງທິດສະດີທີ່ໄດ້ໃຫ້ໄວ້ກ່ອນ ໜ້າ ນີ້, ເອກະສານ ldaprootpasswd.ldif
ຈະເພີ່ມການເຂົ້າສູ່ລະບົບ LDAP. ໃນການເຂົ້ານັ້ນ, ແຕ່ລະເສັ້ນສະແດງເຖິງຄຸນລັກສະນະ: ຄູ່ມູນຄ່າ (ບ່ອນທີ່ dn, changetype, add, ແລະ olcRootPW ແມ່ນຄຸນລັກສະນະແລະສາຍທີ່ຢູ່ເບື້ອງຂວາຂອງແຕ່ລະຈໍ້າແມ່ນຄ່າທີ່ສອດຄ້ອງກັນ).
ທ່ານອາດຕ້ອງການໃຫ້ສິ່ງນີ້ຈື່ໄວ້ໃນຂະນະທີ່ພວກເຮົາ ດຳ ເນີນການຕໍ່ໄປ, ແລະກະລຸນາສັງເກດວ່າພວກເຮົາ ກຳ ລັງໃຊ້ຊື່ສາມັນທົ່ວໄປ (cn =)
ຕະຫຼອດສ່ວນທີ່ເຫຼືອຂອງບົດນີ້, ເຊິ່ງແຕ່ລະບາດກ້າວແມ່ນຂື້ນກັບຊື່ເກົ່າ .
5. ດຽວນີ້, ຕື່ມການເຂົ້າ LDAP ທີ່ສອດຄ້ອງກັນໂດຍການລະບຸ URI ໂດຍອ້າງອີງໃສ່ server ldap, ເຊິ່ງມີພຽງແຕ່ອະນຸຍາດໃຫ້ອະນຸຍາດ/ຊ່ອງ host/port ເທົ່ານັ້ນ.
# ldapadd -H ldapi:/// -f ldaprootpasswd.ldif
ຜົນໄດ້ຮັບຄວນຈະຄ້າຍຄືກັບ:
ແລະ ນຳ ເຂົ້າບາງນິຍາມ LDAP ພື້ນຖານຈາກໄດເລກະທໍລີ /etc/openldap/schema
:
# for def in cosine.ldif nis.ldif inetorgperson.ldif; do ldapadd -H ldapi:/// -f /etc/openldap/schema/$def; done
6. ມີ LDAP ໃຊ້ໂດເມນຂອງທ່ານໃນຖານຂໍ້ມູນຂອງມັນ.
ສ້າງເອກະສານ LDIF ອື່ນ, ເຊິ່ງພວກເຮົາຈະເອີ້ນ ldapdomain.ldif
, ໂດຍມີເນື້ອໃນຕໍ່ໄປນີ້, ແທນທີ່ໂດເມນຂອງທ່ານ (ໃນ Domain Component dc =) ແລະລະຫັດຜ່ານຕາມຄວາມ ເໝາະ ສົມ:
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=mydomain,dc=com" read by * none dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=mydomain,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=Manager,dc=mydomain,dc=com dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcRootPW olcRootPW: {SSHA}PASSWORD dn: olcDatabase={2}hdb,cn=config changetype: modify add: olcAccess olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=Manager,dc=mydomain,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=mydomain,dc=com" write by * read
ຫຼັງຈາກນັ້ນໂຫຼດມັນດັ່ງຕໍ່ໄປນີ້:
# ldapmodify -H ldapi:/// -f ldapdomain.ldif
7. ດຽວນີ້ເຖິງເວລາແລ້ວທີ່ທ່ານຈະຕ້ອງເພີ່ມບາງເຂົ້າໃນບັນຊີ LDAP ຂອງພວກເຮົາ. ຄຸນລັກສະນະແລະຄຸນຄ່າຕ່າງໆຈະຖືກແຍກອອກໂດຍໃຊ້ລະຫັດຈໍ້າສອງເມັດ (:) ໃນເອກະສານຕໍ່ໄປນີ້, ເຊິ່ງພວກເຮົາຈະໃສ່ຊື່ວ່າ baseldapdomain.ldif
:
dn: dc=mydomain,dc=com objectClass: top objectClass: dcObject objectclass: organization o: mydomain com dc: mydomain dn: cn=Manager,dc=mydomain,dc=com objectClass: organizationalRole cn: Manager description: Directory Manager dn: ou=People,dc=mydomain,dc=com objectClass: organizationalUnit ou: People dn: ou=Group,dc=mydomain,dc=com objectClass: organizationalUnit ou: Group
ເພີ່ມການອອກສຽງເຂົ້າໃນລະບົບ LDAP:
# ldapadd -x -D cn=Manager,dc=mydomain,dc=com -W -f baseldapdomain.ldif
8. ສ້າງຜູ້ໃຊ້ LDAP ທີ່ມີຊື່ວ່າ ldapuser (adduser ldapuser), ຈາກນັ້ນສ້າງ ຄຳ ນິຍາມ ສຳ ລັບກຸ່ມ LDAP ໃນ ldapgroup.ldif
.
# adduser ldapuser # vi ldapgroup.ldif
ເພີ່ມເນື້ອຫາຕໍ່ໄປນີ້.
dn: cn=Manager,ou=Group,dc=mydomain,dc=com objectClass: top objectClass: posixGroup gidNumber: 1004
ບ່ອນທີ່ gidNumber ແມ່ນ GID ໃນ/etc/ກຸ່ມ ສຳ ລັບ ldapuser) ແລະໂຫລດມັນ:
# ldapadd -x -W -D "cn=Manager,dc=mydomain,dc=com" -f ldapgroup.ldif
9. ເພີ່ມເອກະສານ LDIF ທີ່ມີ ຄຳ ນິຍາມ ສຳ ລັບຜູ້ ນຳ ໃຊ້ ldapuser ( ldapuser.ldif
):
dn: uid=ldapuser,ou=People,dc=mydomain,dc=com objectClass: top objectClass: account objectClass: posixAccount objectClass: shadowAccount cn: ldapuser uid: ldapuser uidNumber: 1004 gidNumber: 1004 homeDirectory: /home/ldapuser userPassword: {SSHA}fiN0YqzbDuDI0Fpqq9UudWmjZQY28S3M loginShell: /bin/bash gecos: ldapuser shadowLastChange: 0 shadowMax: 0 shadowWarning: 0
ແລະໂຫລດມັນ:
# ldapadd -x -D cn=Manager,dc=mydomain,dc=com -W -f ldapuser.ldif
ເຊັ່ນດຽວກັນ, ທ່ານສາມາດລຶບການປ້ອນຜູ້ໃຊ້ທີ່ທ່ານຫາກໍ່ສ້າງ:
# ldapdelete -x -W -D cn=Manager,dc=mydomain,dc=com "uid=ldapuser,ou=People,dc=mydomain,dc=com"
10. ອະນຸຍາດໃຫ້ມີການສື່ສານຜ່ານໄຟວໍ:
# firewall-cmd --add-service=ldap
11. ສຸດທ້າຍ, ແຕ່ຢ່າງ ໜ້ອຍ, ເຮັດໃຫ້ລູກຄ້າສາມາດກວດສອບຄວາມຖືກຕ້ອງໂດຍໃຊ້ LDAP.
ເພື່ອຊ່ວຍພວກເຮົາໃນຂັ້ນຕອນສຸດທ້າຍນີ້, ພວກເຮົາຈະ ນຳ ໃຊ້ປະໂຫຍດຂອງ authconfig (ອິນເຕີເຟດ ສຳ ລັບ ກຳ ນົດຊັບພະຍາກອນການກວດສອບລະບົບ).
ໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້, ໄດເລກະທໍລີຢູ່ເຮືອນ ສຳ ລັບຜູ້ໃຊ້ທີ່ຖືກຮ້ອງຂໍຖືກສ້າງຂື້ນຖ້າມັນບໍ່ມີຫຼັງຈາກການກວດສອບກັບ LDAP server ສຳ ເລັດ:
# authconfig --enableldap --enableldapauth --ldapserver=rhel7.mydomain.com --ldapbasedn="dc=mydomain,dc=com" --enablemkhomedir --update
ບົດສະຫຼຸບ
ໃນບົດຂຽນນີ້ພວກເຮົາໄດ້ອະທິບາຍວິທີການຕັ້ງຄ່າການກວດສອບຂັ້ນພື້ນຖານຕໍ່ກັບ server LDAP. ເພື່ອ ກຳ ນົດການຕັ້ງຄ່າທີ່ໄດ້ອະທິບາຍໄວ້ໃນຄູ່ມືປະຈຸບັນ, ກະລຸນາເບິ່ງບົດທີ 13 - ການຕັ້ງຄ່າ LDAP ໃນຄູ່ມືຂອງຜູ້ບໍລິຫານລະບົບ RHEL 7, ໃຫ້ຄວາມສົນໃຈເປັນພິເສດຕໍ່ການຕັ້ງຄ່າຄວາມປອດໄພໂດຍໃຊ້ TLS.
ຮູ້ສຶກວ່າບໍ່ເສຍຄ່າທີ່ຈະອອກ ຄຳ ຖາມທີ່ທ່ານອາດຈະໃຊ້ແບບຟອມ ຄຳ ເຫັນຂ້າງລຸ່ມນີ້.