يصف هذا المستند مجموعة متنوعة من الخيارات لتكوين LDAP كطريقة مصادقة ل UCS Manager و CIMC باستخدام OpenLDAP المستند إلى Linux و 389 خادم دليل.
نظرا للتغيرات الكبيرة في تكوينات خادم OpenLDAP، تتجاوز المعالجة الشاملة نطاق هذا المستند. بدلا من ذلك، يركز هذا المقال على التكوينات التي يتم تنفيذها بشكل شائع والتي تمتد بين برامج لينوكس المتعددة وحزم خادم LDAP وتخطيطات السمات. ولغرض الوضوح والبساطة، يتناول هذا المستند التكوينات القياسية ل LDAP. تكوين LDAP الآمن (LDAPs) غير مغطى في هذا المستند.
يوصى بشدة بمعرفة هذه الموضوعات:
تستند المعلومات الواردة في هذا المستند إلى إصدارات البرامج والمكونات المادية التالية:
الإعدادات المستخدمة لهذا العرض التوضيحي:
ملاحظة: تم إستخدام محرر نصوص Linux Nano في هذا المختبر.
تم إنشاء المعلومات الواردة في هذا المستند من الأجهزة الموجودة في بيئة معملية خاصة. بدأت جميع الأجهزة المُستخدمة في هذا المستند بتكوين ممسوح (افتراضي). إذا كانت شبكتك قيد التشغيل، فتأكد من فهمك للتأثير المحتمل لأي أمر.
يمكن تنفيذ تكوين خادم LDAP باستخدام واجهة رسومية، مثل مدير حساب LDAP، أو أدوات سطر الأوامر، وفقا للتفضيل الإداري ومستوى التحكم المطلوب. ويفحص هذا السيناريو التكوين باستخدام برنامج OpenLDAP القائم على Linux، بدءا بالنشر القائم على واجهة المستخدم الرسومية (GUI) والانتقال بعد ذلك إلى أدوات مساعدة سطر الأوامر لاستكشاف الإمكانات المتقدمة، بما في ذلك المكونات الإضافية (المستخدمة بشكل شائع في عمليات التكامل مع مدير Cisco UCS).
قم بتحديث نظام التشغيل وتثبيت حزمة أدوات الشبكة للوصول إلى أدوات مثل ifconfig و netstat وما إلى ذلك:
sudo apt update
sudo apt install net-tools
أستخدم الأمر "ifconfig" للتحقق من عنوان IP الخاص بالخادم، ثم قم بإضافته إلى الملف "/etc/hosts" مع اسم مجال الخادم (على سبيل المثال: "test.xxxxxxxx.com" المستخدم في هذا المختبر) و hostname (على سبيل المثال: "إختبار") بالتنسيق المحدد.
sudo nano /etc/hosts

بالإضافة إلى ذلك، قم بتحديث الملف "/etc/hostname" عن طريق إستبدال محتوياته باسم المضيف (إختبار).
sudo nano /etc/hostname

يلزم إعادة تشغيل الخادم حتى تصبح هذه التغييرات نافذة المفعول.
sudo reboot
بعد ذلك، قم بتثبيت أباتشي، php وتبعياتهم. يتم إستخدام هذه العناصر لتمكين التفاعل مع واجهة المستخدم الرسومية (GUI) عبر صفحة ويب :
sudo apt install apache2 php php-cgi libapache2-mod-php php-mbstring php-common php-pear -y
تثبيت حزمة خادم LDAP المفتوحة "slapd" وتوابعها (ldap-utils)
sudo apt install slapd ldap-utils -y
أثناء تثبيت SLAPD، في واجهة المستخدم الرسومية (GUI) التي تم تقديمها - أدخل تكوين حزمة SLAPD المطلوبة الإضافية.
ملاحظة: يتطلب حل كلمة المرور إعادة تثبيت خادم LDAP.
يعد "administrator" (admin) في هذا السياق حسابا يتم إستخدامه لإدارة خدمة OpenLDAP والوحدات النمطية والتكوينات.
أضف كلمة مرور "administrator" لحزمة LDAP واضغط على مفتاح الإدخال Enter في لوحة المفاتيح لتحديد "ok".

تأكيد كلمة المرور:

بمجرد اكتمال التثبيت، يمكنك إستخدام الأمر المحدد لإعادة تكوين حزمة SLAPD، وإضافة معلومات المجال:
sudo dpkg-reconfigure slapd
يمكنك قبول الخيار "لا" الافتراضي ل "حذف تكوين خادم OpenLDAP" وضغط مفتاح الإدخال:

اكتب اسم المجال واضغط مفتاح الإدخال:

يستخدم xxxxxxx" في هذا المختبر ك "اسم المؤسسة":

بعد ذلك، اكتب "كلمة مرور المسؤول"، وقم بتأكيدها
للحصول على خيارات التكوين الأخرى، ابق على الافتراضيات واضغط على مفتاح الإدخال على لوحة المفاتيح لإكمال التكوين.
التحقق من تثبيت SLAPD باستخدام الأمر:
sudo slapcat

تثبيت مدير حساب LDAP (LAM) لإنشاء مستخدمي LDAP والمجموعات وإدارتها:
sudo apt -y install ldap-account-manager
تمكين امتداد PHP-CGI PHP، المطلوب من قبل LAM.
sudo a2enconf php*-cgi
أعد تحميل Apache لتنشيط التكوين الجديد.
قم بإعادة تشغيل خدمة Apache وتمكينها من التشغيل التلقائي في وقت التمهيد:
sudo systemctl reload apache2
sudo systemctl restart apache2
sudo systemctl enable apache2
تحقق من أن حالة خادم Apache "قيد التشغيل" و"نشط"
sudo systemctl status apache2

تكوين جدار حماية Ubuntu للسماح بالمنفذ 80(ويب) و 443 (الويب الآمن) و 389(LDAP) و 636 (بروتوكول LDAP الآمن إذا لزم الأمر)
sudo ufw enable
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
sudo ufw allow 389
sudo ufw allow 636

التحقق من حالة جدار حماية Ubuntu:
sudo ufw status

لتكوين مدير حساب LDAP (LAM) من واجهة المستخدم الرسومية، افتح مستعرض ويب، وأدخل عنوان IP الخاص بخادم Linux وأضف مسار 'lam' إليه كما هو موضح:
http://X.X.X.19/lam

انقر على تكوين LAM" ثم حدد "تحرير ملفات تعريف الخادم".


اكتب في كلمة المرور الافتراضية "lam" لتسجيل الدخول.

ضمن علامة التبويب "إعدادات عامة"، تحقق من إعدادات الخادم و"اللغة" و"المنطقة الزمنية".
في قسم إعدادات الأداة، قم بتحرير وإضافة اسم المجال المطلوب في حقل لاحقة الشجرة كما هو موضح أدناه:

قم بتحرير قسم إعدادات الأمان لتضمين مستخدم "admin" المستخدم لإدارة خدمة SLAPD.

ضبط "كلمة مرور ملف التعريف". يتم إستخدام كلمة المرور هذه للإدخالات التالية على واجهة تكوين LAM، على سبيل المثال، يتم تكوين "Cisco123" بدلا من كلمة المرور الافتراضية "lam".
حفظ التكوين:

بعد ذلك، تتم إعادة تشغيل الجلسة على واجهة واجهة المستخدم الرسومية (GUI) الخاصة بتكوين LAM.
قم بتسجيل الدخول مرة أخرى (تكوين LAM > تحرير ملفات تعريف الخادم) باستخدام كلمة المرور الجديدة التي تم إنشاؤها.
انقر على "أنواع الحساب"،

قم بالتمرير لأسفل وتحرير أنواع الحسابات النشطة الافتراضية باستخدام معلومات اسم المجال في حقل لاحقة LDAP. على سبيل المثال، يعرض المحتوى الافتراضي لحقل "لاحقة LDAP" قيمة على هيئة "ou=People،dc=my-domain،dc=com".
وفي حالة الحاجة إلى إنشاء وحدات تنظيمية جديدة، يستعاض عن محتوى حقل "لاحقة LDAP" لكي يحتوي على اسم الوحدة التنظيمية.
يتم عرض التنسيق على هيئة "ou=<organization_unit>، dc=xxxxxxx، dc=com".
وفي هذا العرض التوضيحي، فإن مذكرة التفاهم الخاصة بالمستخدمين هي "الناس"، أما كلمة المرور الخاصة بالمجموعات فهي "المجموعات".
حفظ التكوين.

قم بالتمرير لأسفل إلى القسم "خيارات" وتأكد من التحقق من "تعيين المجموعة الأساسية ك memberUid".
بشكل افتراضي لا يتم تعيين الخيار تعيين المجموعة الأساسية ك memberUid" على كائنات المجموعة. يتيح تنشيط هذا إستخدام "المجموعة الأساسية" ل OpenLDAP مثل مجموعة LDAP القياسية، حيث يمكن الإشارة إلى "memberUid" (على سبيل المثال: في تكوين خادم UCS C Series). في حالة إلغاء تحديد هذا الخيار، يفشل تسجيل الدخول للمستخدمين الذين ينتمون إلى أي مجموعة أساسية.
حفظ التكوين.

قم بتسجيل الدخول إلى LAM كمستخدم "admin" باستخدام كلمة المرور نفسها التي تم إنشاؤها أثناء التثبيت، لإنشاء مستخدمين ومجموعات تنتمي إلى وحدات التحكم في الوصول (OUs) التي تم إنشاؤها مسبقا (الأشخاص والمجموعات) على التوالي:

قم بإنشاء وحدات التحكم في الوصول (OUs) المحددة مسبقا في قسم تكوين LAM.
انقر فوق "إنشاء".

بعد ذلك، في مدير حسابات LDAP، قم بإنشاء مجموعة "it":
حدد علامة التبويب مجموعات وانقر فوق مجموعة جديدة

قم بتعيين اسم المجموعة على أنه هو".
ملاحظة: بينما تكون أنظمة Cisco UCS مرنة بشكل عام لتنوعات الحالات، فإن الحفاظ على اصطلاحات تسمية الحروف الصغيرة هو أفضل ممارسة لضمان قابلية التشغيل البيني على المدى الطويل عبر بيئات البنية الأساسية لخادم LDAP المتنوعة.
أترك حقل رقم المعرف الفريد العمومي فارغا. تم تصميم مدير حسابات LDAP (LAM) لنشر هذا الحقل تلقائيا بالقيمة التالية المتاحة.
قم بتوفير وصف إذا كان ذلك مطلوبا وانقر فوق حفظ

انقر فوق علامة التبويب مستخدمون" لإنشاء حسابات مستخدمين وتحديد "مستخدم جديد".

ملء الحقول المطلوبة للمستخدم "testuser1" في علامة التبويب "شخصي".

حدد علامة التبويب Unix، وقم بإضافة testuser1 في حقل اسم المستخدم. قم بتضمين المستخدم في مجموعة "it".
في هذا العرض، يوجد فقط مجموعة "it"، لذلك فهي بالفعل مأهولة مسبقا.
الاحتفاظ بمعرف RDN ك "الاسم الشائع" (cn). هذا يمكن النظام من ملء الحقل "الاسم الشائع" تلقائيا باستخدام القيمة المحددة في الحقل "اسم المستخدم".
أترك حقل رقم المعرف فارغا حيث تقوم LAM تلقائيا بملء الحقل بالقيم المتاحة.

حدد صفحة الظل،
لم يتم إستخدام ملحق حساب الظل.
انقر على "تعيين كلمة المرور".
تعيين كلمة مرور المستخدم
ثم انقر فوق موافق واحفظ

كرر الخطوات المحددة الموضحة مسبقا لإنشاء حساب مستخدم "testuser2" وحساب "bind_user".
انقر فوق علامة التبويب "المستخدمون" للتحقق من إنشاء جميع المستخدمين المطلوبين. (الحصول على نفس القيمة في عمود gidNumber يؤكد أن المستخدمين الذين تم إنشاؤهم ينتمون إلى نفس المجموعة - هو)

قم بتسجيل الدخول إلى نظام آخر يستند إلى Linux، مع إمكانية الوصول إلى خادم OpenLDAP.
قم بتشغيل الأمر ldapsearch المحدد للتحقق من عمل LDAP:
ldapsearch -x -h X.X.X.19 -p 389 -b "dc=xxxxxxxxx,dc=com" "uid=testuser1" sn cn givenName

قم بتسجيل الدخول إلى CIMC.
في جزء التنقل، حدد Admin وإدارة المستخدم و LDAP.
ملء معلمات تكوين LDAP كما هو موضح أدناه:

قم بحفظ التكوين واختبار تسجيل دخول مستخدم LDAP.
قم بتسجيل الدخول إلى مدير UCS.
في جزء التنقل، حدد Admin وإدارة المستخدم و LDAP.
ملء معلمات تكوين LDAP كما هو موضح أدناه:

تحت الكل >> إدارة المستخدم >> LDAP> LDAP Providers>> LDAP مجموعة القواعد، السمة الهدف الافتراضية لإدارة UCS هي "memberOf". بشكل افتراضي، لا تحتوي خوادم OpenLDAP على هذه السمة الممكنة، وبالتالي فإن تعيين قيمة السمة الهدف على "memberOf" (أو تركها فارغة) يؤدي إلى فشل عمليات تسجيل دخول المستخدم لأن خادم OpenLDAP لا يتعرف على قيمة السمة المطلوبة.
في هذا المثال، تم تعيين قيمة "السمة الهدف" على "gidNumber".
إضافة موفر LDAP الذي تم تكوينه إلى مجموعة موفري LDAP. تم إنشاء مجموعة موفري LDAP ل "الخوادم" لهذا العرض التوضيحي.
عند تكوين "خرائط مجموعة LDAP" في "الكل > > إدارة المستخدم >> LDAP >> خرائط مجموعة LDAP>"، يتم إستخدام قيمة gidNumber (في هذه الحالة "10000") على أنها "خريطة DN المجموعة" كما هو موضح:

قم بتكوين مجال مصادقة LDAP (LDAP_DOMAIN) في "All>User Management>Authentication>> Authentication Domain (إدارة المستخدم)> Authentication Domain" مشيرا إلى مجموعات موفر LDAP واختبار تسجيل دخول مستخدم LDAP.
ملاحظة: إذا كانت السمة memberOf مطلوبة لتلبية متطلبات بيئية معينة أو لتنفيذ ميزة "تكرار المجموعة"، يوصى باستخدام خيار التكوين الثاني أدناه، والذي يتطلب LDAP مع تمكين ملحقات التغشية.
بينما يدعم مدير حساب LDAP (LAM) تكوين التضمين، الرجاء إعلامك بأن هذه الميزة تتطلب ترخيصا مناسبا.
لمزيد من المعلومات حول تكوين LDAP باستخدام LAM، ارجع إلى وثائق مدير حساب LDAP الرسمي.
من أجل إستخدام OpenLDAP لمصادقة مدير UCS، يلزم وجود تغليفين يتأكدان أن المجموعات مقترنة بالمستخدمين بطريقة يمكن لنظام UCS (مدير UCS و CIMC) فهمها.
يتطلب التكوين الموجود على جانب OpenLDAP:
كرر الخطوة 1 ضمن الخيار 1.
كرر الخطوة 2 ضمن الخيار 1. (باستثناء تثبيت PHP و Apache كخيار 2 لا يتطلب منهم العمل - لا توجد LAM)
تأكد من السماح بالمنافذ المطلوبة من خلال جدار حماية Ubuntu.
التحقق من تثبيت تغشية "memberOf"
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcModuleLoad=*)'

لتثبيت تغشية "memberOf"، قم بإنشاء ملف .ldif باسم ldap.memberOf.load.ldif (أستخدم أي اصطلاح تسمية مرغوب فيه) وأضفت التكوين المحدد:
cat < ./ldap.memberof.load.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module olcModuleLoad: memberof
EOF
قم بإضافة التكوين في ملف ldap.member.load.ldif إلى ملف تعريف LDAP باستخدام الأمر المحدد:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ./ldap.memberof.load.ldif
يقوم بتكوين إدخال وحدة MemberOf و olcDatabase لمطابقة متطلبات النشر، حسب برامج لينوكس.
قيمتا سمة إجباريتان هما olcDatabase={1}mdb" و"مجموعة GroupOfNames كما هو موضح أدناه.
قم بإنشاء ملف ldap.memberOf.config.ldif، وملء السمات الخاصة به واستيراد محتوياته إلى ملف تعريف LDAP.
cat < ./ldap.memberof.config.ldif
dn: olcOverlay=memberof,olcDatabase={1}mdb,cn=config
objectClass: olcMemberOf
objectClass: olcOverlayConfig
olcOverlay: memberof
olcMemberOfGroupOC: groupOfNames
olcMemberOfMemberAD: member
olcMemberOfMemberOfAD: memberOf
olcMemberOfRefInt: TRUE
olcMemberOfDangling: ignore
EOF
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ./ldap.memberof.config.ldif
بعد ذلك، قم بتثبيت التحسين إلى openLDAP:
قم بإنشاء ملف .ldif باسم ldap.refint.load.ldif (أستخدم أي اصطلاح تسمية مطلوب) وأضفت التكوين المحدد:
cat < ./ldap.refint.load.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModuleLoad: refint
EOF
إستيراد التكوين في ملف ldap.refint.load.ldif إلى ملف تعريف LDAP باستخدام الأمر المحدد:
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ./ldap.refint.load.ldif
تكوين التحسين، الذي يحافظ على التكامل المرجعي بين المجموعات والمستخدمين.
تكوين وحدة التحسين النمطية وإدخال OLCdatabase الخاص بها لمطابقة متطلبات النشر.
قم بإنشاء ملف ldap.refint.config.ldif واستيراد محتواه في ملف تعريف LDAP.
cat < ./ldap.refint.config.ldif
dn: olcOverlay=refint,olcDatabase={1}mdb,cn=config
objectClass: olcConfig
objectClass: olcOverlayConfig
objectClass: olcRefintConfig
olcOverlay: refint
olcRefintAttribute: memberOf member
EOF
sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f ./ldap.refint.config.ldif
عند تثبيت كل من الملحقات/الملحقات، يكون إخراج الأمر ldapsearch المحدد مماثلا للإخراج المبين أدناه:
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcModuleLoad=*)'

عندما يتم تكوين كلا الملحقين/الملحقين، فإن الإخراج إلى الأمر ldapsearch المحدد يماثل الإخراج المعروض:
sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcOverlay=memberof)'

sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=config '(olcOverlay=refint)'

إعادة تشغيل خدمة SLAPD لكي تكون الإضافات/الوحدات النمطية المثبتة حديثا قابلة للاستخدام:
sudo systemctl restart slapd
إنشاء وحدات تنظيمية (للمستخدمين والمجموعات) والمستخدمين والمجموعات.
قم بإنشاء أوامر المستخدمين (الأشخاص) والمجموعات (المجموعات) واستيرادهم إلى ملف تعريف LDAP. يتطلب هذا كلمة مرور حساب "admin":
cat < ./ldap.ou.add.ldif
dn: ou=People,dc=xxxxxxxxx,dc=com
objectClass: organizationalUnit
ou: People
dn: ou=Groups,dc=xxxxxxxxx,dc=com
objectClass: organizationalUnit
ou: Groups
EOF
sudo ldapadd -xcWD cn=admin,dc=xxxxxxxxx,dc=com -f ./ldap.ou.add.ldif

قم بإنشاء المستخدمين (testuser1، testuser2 و bind_user)، وتخطيطهم إلى وحدات التحكم الخاصة بهم (People)، وإضافتهم إلى مجموعاتهم باستخدام gidNumber (ممارسة جيدة)، واستيراد المستخدمين إلى ملف تعريف LDAP.
cat < ./ldap.users.ldif
dn: uid=testuser1,ou=People,dc=xxxxxxxxx,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: testuser1
sn: User1
givenName: Test
cn: testuser1
displayName: Test User1
gidNumber: 10000
uidNumber: 10000
userPassword: cisco123
gecos: Test User1
loginShell: /bin/bash
homeDirectory: /home/testuser1
dn: uid=testuser2,ou=People,dc=xxxxxxxxx,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: testuser2
sn: User2
givenName: Test
cn: testuser2
displayName: Test User2
gidNumber: 10000
uidNumber: 10001
userPassword: cisco123
gecos: Test User2
loginShell: /bin/bash
homeDirectory: /home/testuser2
dn: uid=bind_user,ou=People,dc=xxxxxxxxx,dc=com
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: shadowAccount
uid: bind_user
sn: User3
givenName: Bind
cn: bind_user
displayName: Bind User3
gidNumber: 10001
uidNumber: 10002
userPassword: cisco123
gecos: Bind User3
loginShell: /bin/bash
homeDirectory: /home/bind_user
EOF
sudo ldapadd -xcWD cn=admin,dc=xxxxxxxxx,dc=com -f ./ldap.users.ldif

قم بإنشاء المجموعات (هو)، وتخطيطهم إلى وحدات التحكم الخاصة بهم (المجموعات)، وأعضاء المجموعة المشاركة (testuser1، testuser2)، واستيرادهم إلى ملف تعريف LDAP:
cat < ./ldap.group.create.ldif
dn: cn=it,ou=Groups,dc=xxxxxxxxx,dc=com
objectClass: groupofnames
cn: it
member: uid=testuser1,ou=People,dc=xxxxxxxxx,dc=com
member: uid=testuser2,ou=People,dc=xxxxxxxxx,dc=com
EOF
sudo ldapadd -xcWD cn=admin,dc=xxxxxxxxx,dc=com -f ./ldap.group.create.ldif

ملاحظة: حتى إذا لم يتم تعريف السمة memberOf بشكل صريح أثناء إنشاء المستخدمين أو المجموعات، فإن النظام يقوم تلقائيا بإنشاء هذا المرجع والاحتفاظ به. بمجرد اقتران المستخدم بمجموعة ما، تعكس سمة عضو Of هذه العضويات تلقائيا، مما يضمن بقاء الدليل متزامنا مع بنية الوصول الحالية.
تحقق من تسجيل دخول المستخدم إلى خادم LDAP باستخدام الأمر المحدد (إستبدال معلمات تسجيل الدخول حسب البيئة الخاصة بك):
sudo ldapsearch -x -LLL -b uid=testuser1,ou=People,dc=xxxxxxxxx,dc=com memberOf

قم بتسجيل الدخول إلى CIMC.
في جزء التنقل، حدد Admin وإدارة المستخدم و LDAP.
ملء معلمات تكوين LDAP كما هو موضح أدناه:

قم بحفظ التكوين واختبار تسجيل دخول مستخدم LDAP.
قم بتسجيل الدخول إلى مدير UCS.
في جزء التنقل، حدد Admin وإدارة المستخدم و LDAP.
ملء معلمات تكوين LDAP كما هو موضح أدناه:

إضافة موفر LDAP الذي تم تكوينه إلى مجموعة موفري LDAP. في هذا العرض التوضيحي، يتم إستخدام مجموعة موفري LDAP "الخوادم".
قم بتكوين خرائط مجموعة LDAP بإضافة "DN لمجموعة LDAP"، التي تم إستردادها من خادم LDAP.

قم بتكوين مجال مصادقة LDAP (LDAP_DOMAIN) في "All>User Management>Authentication>Authentication>Domain (إدارة المستخدم)> Authentication Domain" مشيرا إلى مجموعات موفري LDAP (الخوادم) واختبر تسجيل دخول مستخدم LDAP.
بعد ذلك انظر إلى وضع نفسه (مع التغشية) في توزيع لينوكس مستقل (CentOS 10)
تختلف إجراءات تكوين البروتوكول الخفيف للوصول للدليل (LDAP) بناء على إصدار نظام التشغيل الأساسي. يركز هذا القسم على تنفيذ برنامج العمل LDAP على CentOS Stream 10.
على الرغم من أن العديد من برامج لينوكس تستخدم تطبيق OpenLDAP، فإن أنظمة CentOS Stream 10 والأنظمة المعاصرة المستندة إلى Fedora تستخدم خادم الدليل 389 (389 ds) كمزود LDAP الافتراضي.
ملاحظة: وعلى الرغم من أن 389 ديسيبل يعتبر خلفا ل OpenLDAP في نظامي CentOS و Red Hat، فإن الحلين ليسا قابلين للتبادل المباشر. وتختلف بنى كل منها في الدليل وملفات التكوين والبيئات التشغيلية إختلافا كبيرا.
يوفر هذا الدليل الخطوات اللازمة لتكوين LDAP بنجاح باستخدام 389 DS داخل بيئة CentOS Stream 10.
كرر الخطوة 1 في السيناريو 1، الخيار 1.
لا تستخدم أنظمة CentOS مجموعة إدارة حزم APT. لتنفيذ التثبيتات البرمجية الضرورية على CentOS Stream 10، أستخدم مديري حزم DNF (YUM المرقص) أو YUM
sudo yum update
sudo yum install net-tools
تحقق من عنوان IP الخاص بالخادم باستخدام الأمر "ifconfig".
قم بإضافة عنوان IP للخادم إلى الملف "/etc/hosts" مع اسم المجال للخادم المؤهل بالكامل (على سبيل المثال: test.xxxxxxxx.com المستخدم في هذا المختبر) واسم المضيف (على سبيل المثال: test) بالتنسيق المحدد أدناه:
sudo nano /etc/hosts

قم بتحديث الملف "/etc/hostname" عن طريق إستبدال محتوياته باسم المضيف (إختبار).
sudo nano /etc/hostname

يلزم إعادة تشغيل الخادم حتى تصبح هذه التغييرات نافذة المفعول.
sudo reboot
قم بتثبيت مستودع EPEL وتحديثه.
قم بتثبيت حزمة 389 Directory Server.
sudo dnf install -y epel-release
sudo dnf update -y epel-release
sudo dnf install 389-ds-base
قم بإنشاء ملف قالب دليل يحتوي على معلمات إعدادات خادم LDAP المطلوبة:
sudo dscreate create-template ldapconfig.conf
التحقق من محتوى ملف القالب الذي تم إنشاؤه (ldapconfig.conf)
sudo cat ldapconfig.conf
قم بتحرير ملف قالب ldapconfig.conf.
sudo nano ldapconfig.conf
قم بإدراج إدخالات التكوين المحددة في الملف ثم احفظ التغييرات التي أجريتها.
ملاحظة: يمكن طلب تعديلات مختلفة وفقا للاحتياجات أو المتطلبات المحددة لكل بيئة.
يغطي هذا المثال تكوينات خط الأساس لهذا العرض التوضيحي.
[general]
config_version = 2
selinux = True
[slapd]
instance_name = localhost
root_dn = cn=admin
root_password = cisco123
[backend-userroot]
sample_entries = yes
suffix = dc=xxxxxxxxx,dc=com
يحدد ملف القالب معلمات التكوين لمثيل الدليل "localhost". ويتضمن ذلك تعيين المستخدم الإداري ("admin") وكلمة المرور المقترنة وسياق المجال ("xxxxxxxx.com").
قم بإنشاء مثيل الدليل "localhost" باستخدام القالب الذي تم تحريره مسبقا. يقوم الأمر المحدد بإنشاء خادم دليل LDAP وتشغيله:
sudo dscreate -v from-file ldapconfig.conf
التحقق من تشغيل خدمة LDAP على الخادم
ss -ntl

ضبط جدار حماية CentOS للسماح بالمنفذ (المنافذ) المطلوب ل LDAP (389 و/أو 636).
لهذا العرض التوضيحي، تم إيقاف تشغيل جدار الحماية.
sudo systemctl stop firewalld
تحقق من عمل LDAP محليا على خادم LDAP من خلال تشغيل الأمر المحدد وضمان إرجاعه إخراج LDAP كما هو موضح:
sudo ldapsearch -x ldap://localhost -b "dc=xxxxxxxxx,dc=com"

يحتوي الإخراج على حسابات توضيحية تم إنشاؤها بواسطة خادم 389DS. قام خادم LDAP تلقائيا بإنشاء وحدات OUs الافتراضية.
الأشخاص الذين تم إستخدامهم للمستخدمين والمجموعات التي تعمل بها للمجموعات. يمكن إنشاء وحدات ذاكرة مؤقتة إضافية وفقا للمتطلبات.
في هذا العرض التوضيحي، يتم إستخدام وحدات التحكم الافتراضية/التي تم إنشاؤها تلقائيا.
تحقق من وثائق 389DS الرسمية للحصول على تفاصيل حول الاستخدام الموسع لحزمة 389DS:
قم بإنشاء مجموعة (ه) باستخدام الأمر المحدد: إنشاء مجموعة SUDO dIDm <instance_name>.
بالنسبة لهذا العرض التوضيحي، اسم المثيل هو "localhost".
sudo dsidm localhost group create
أدخل مطالبة الوحدة الطرفية لنشر تفاصيل المجموعة كما هو موضح:

خلقت testuser1 مستعمل حساب يستعمل الأمر:
sudo dsidm localhost user create
أدخل مطالبة الوحدة الطرفية لنشر تفاصيل المستخدم كما هو موضح

قم بإنشاء كلمة مرور ل testuser1 باستخدام الأمر المحدد وأدخل مطالبة CLI:
sudo dsidm localhost account reset_password uid=testuser1,ou=people,dc=xxxxxxxxx,dc=com

إضافة المستخدم إلى مجموعة باستخدام الأمر المحدد: "sudoId <directory_instance> group add_member <group_cn> <user_dn>"
sudo dsidm localhost group add_member it uid=testuser1,ou=people,dc=xxxxxxxxx,dc=com
كرر خطوات إنشاء المستخدم لإنشاء testuser2 و bind_user.
ملاحظة:تأكد من إضافة كل مستخدم بشكل صريح إلى مجموعاتهم المقصودة.
قد يؤدي حذف هذه الخطوة إلى تقييد الوصول أو فشل التخويل.
لا يلزم أن يكون حساب bind_user عضوا في مجموعة معينة، حيث يمكن تكوينه كحساب مستقل، مما يوفر المرونة لإدارة الوصول الإداري والوصول على مستوى الخدمة داخل بيئة الدليل.
إعادة تشغيل مثيل الدليل:
sudo dsctl localhost restart
قم بتثبيت المكون الإضافي "memberOf" ثم أعد تشغيل مثيل الدليل:
sudo dsconf localhost plugin memberof status
sudo dsconf localhost plugin memberof enable
sudo dsctl localhost restart
قم بتكوين الوظيفة الإضافية "memberOf" باستخدام الأمر المحدد: "عضوية الوظيفة الإضافية ل Sudo dsconf <directory_instance> مجموعة —scope <base_dn>"
sudo dsconf localhost plugin memberof set --scope dc=xxxxxxxxx,dc=com
وضع علامة على "المستخدمين" كأهداف "memberOf" صالحة باستخدام الأمر المحدد: "يقوم المستخدم بتعديل <uid> add:objectclass:nsmemberOf بواسطة SudoSidm <directory_instance>
sudo dsidm localhost user modify testuser1 add:objectclass:nsmemberof
sudo dsidm localhost user modify testuser2 add:objectclass:nsmemberof

إنشاء إصلاح "memberOf" ل DN الأساسي: "عضو الوظيفة الإضافية ل <directory_instance> من الإصلاح <base_dn>"
sudo dsconf localhost plugin memberof fixup dc=xxxxxxxxx,dc=com

التحقق من تكوين المستخدم:
sudo dsidm localhost user get testuser1
sudo dsidm localhost user get testuser2

تم تكوين خادم 389DS LDAP باستخدام المكون الإضافي للعضو لدعم السمة memberOf.
قم بتسجيل الدخول إلى CIMC.
في جزء التنقل، حدد Admin وإدارة المستخدم و LDAP.
ملء معلمات تكوين LDAP كما هو موضح أدناه:

قم بحفظ التكوين واختبار تسجيل دخول مستخدم LDAP.
قم بتسجيل الدخول إلى مدير UCS.
في جزء التنقل، حدد Admin وإدارة المستخدم و LDAP.
ملء معلمات تكوين LDAP كما هو موضح أدناه:

إضافة موفر LDAP الذي تم تكوينه إلى مجموعة موفري LDAP. في هذا العرض التوضيحي، يتم إستخدام مجموعة موفري LDAP "الخوادم".
قم بتكوين خرائط مجموعة LDAP بإضافة "DN لمجموعة LDAP"، التي تم إستردادها من خادم LDAP.

قم بتكوين مجال مصادقة LDAP (LDAP_DOMAIN) في "All>User Management>Authentication>> Authentication Domain (إدارة المستخدم)> Authentication Domain" مشيرا إلى مجموعات موفر LDAP واختبار تسجيل دخول مستخدم LDAP.
وفي حين أن هذا الدليل يغطي سيناريوهات النشر الأساسية، فإن المزيد من أستكشاف قدرات LDAP يمكن أن يعزز بشكل كبير أداء الدليل وأمنه.
للحصول على معلومات إضافية وأفضل الممارسات وتفاصيل التكوين المتقدمة، ارجع إلى الموارد المحددة:
| المراجعة | تاريخ النشر | التعليقات |
|---|---|---|
1.0 |
11-May-2026
|
الإصدار الأولي |