ديف أوبس

إعداد سامبا مع LDAP على أوبنتو

الاستيثاق الشبكي – استخدام سامبا مع LDAP على أوبنتو

مقدمة

يُعد الاستيثاق الشبكي من العمليات الأساسية التي تُمكّن من التحقق من هوية المستخدمين في بيئات الشبكات. من خلال استخدام بروتوكولات مثل LDAP (Lightweight Directory Access Protocol) وسامبا (Samba)، يمكن توفير حلول فعّالة لربط المستخدمين بأجهزة الخوادم داخل الشبكة المحلية. في هذا المقال، سنتناول كيفية استخدام سامبا مع LDAP في بيئة أوبنتو، مع التركيز على إعداد وتشغيل الاستيثاق الشبكي بشكل مُتناسق بين هذه الأدوات.

1. فهم سامبا و LDAP

1.1 ما هو سامبا؟

سامبا هو برنامج مفتوح المصدر يتيح لك مشاركة الملفات والطابعات في شبكات Windows. يوفر أيضًا وظائف مثل الاستيثاق (authentication) والتفويض (authorization) في بيئات متعددة الأنظمة مثل لينكس و ويندوز. يعمل سامبا باستخدام بروتوكولات SMB (Server Message Block)، مما يتيح لأجهزة لينكس/يونكس التفاعل مع الأجهزة التي تعمل بأنظمة تشغيل ويندوز.

1.2 ما هو LDAP؟

LDAP هو بروتوكول مصمم للوصول إلى دليل (Directory Service) يتيح تخزين واسترجاع البيانات الموزعة حول المستخدمين، المجموعات، الأجهزة، وغيرها من الكائنات في الشبكة. يُستخدم LDAP بشكل شائع في الشبكات التي تعتمد على Active Directory أو خوادم الدليل الخاصة بأنظمة يونكس مثل OpenLDAP.

2. الفوائد الرئيسية لاستخدام سامبا مع LDAP

تكمن الفوائد الرئيسية لاستخدام سامبا مع LDAP في دمج التحكم في الوصول مع القدرة على مشاركة الملفات بين الأنظمة المتعددة. من خلال استخدام LDAP كقاعدة بيانات للمستخدمين والمجموعات، يمكن سامبا أن يتعامل مع استيثاق المستخدمين وتفويضهم بشكل مركزي. هذا يجعل من السهل إدارة الحسابات في بيئة متعددة الأنظمة.

3. إعداد سامبا مع LDAP على أوبنتو

3.1 متطلبات النظام

قبل البدء في إعداد سامبا و LDAP، يجب أن تتأكد من أنك تستخدم إصدارًا مناسبًا من أوبنتو (يُفضل أحدث الإصدارات). تأكد من أن الخادم يحتوي على متطلبات أساسية مثل:

  • أوبنتو 20.04 أو أحدث.

  • خادم LDAP مثل OpenLDAP.

  • Samba و Winbind.

3.2 إعداد خادم OpenLDAP

  1. تثبيت OpenLDAP:
    لتثبيت OpenLDAP على أوبنتو، قم باستخدام الأمر التالي:

    bash
    sudo apt update sudo apt install slapd ldap-utils
  2. إعداد OpenLDAP:
    بعد التثبيت، يجب تكوين OpenLDAP باستخدام أداة dpkg-reconfigure:

    bash
    sudo dpkg-reconfigure slapd

    ستتمكن من إدخال المعلومات المطلوبة مثل اسم النطاق و كلمة المرور للمسؤول.

  3. إضافة البيانات إلى LDAP:
    قم بإنشاء ملفات LDIF لإضافة بيانات المستخدمين والمجموعات. مثال لملف LDIF لإضافة مستخدم:

    ldif
    dn: uid=exampleuser,ou=users,dc=example,dc=com objectClass: inetOrgPerson uid: exampleuser cn: Example User sn: User userPassword: {SSHA}your_encrypted_password

    يمكنك إضافة هذه البيانات باستخدام الأمر:

    bash
    ldapadd -x -D "cn=admin,dc=example,dc=com" -W -f users.ldif

3.3 تثبيت وتكوين سامبا

  1. تثبيت Samba:
    لتثبيت سامبا على أوبنتو، استخدم الأوامر التالية:

    bash
    sudo apt install samba smbclient libnss-winbind libpam-winbind
  2. تعديل إعدادات Samba:
    بعد تثبيت سامبا، يجب تعديل ملف التكوين smb.conf، الذي يقع عادة في /etc/samba/smb.conf. تأكد من تعديل الإعدادات لتدعم الاستيثاق باستخدام LDAP. سيكون عليك إضافة القسم التالي في الملف:

    ini
    [global] workgroup = EXAMPLE security = user passdb backend = ldapsam:ldap://localhost ldap admin dn = "cn=admin,dc=example,dc=com" ldap suffix = "dc=example,dc=com" ldap group suffix = "ou=groups" ldap user suffix = "ou=users" idmap backend = ldap:ldap://localhost winbind nss info = rfc2307 winbind use default domain = yes
  3. تفعيل استخدام LDAP للمصادقة:
    تأكد من أن سامبا يتصل بـ LDAP للاستيثاق باستخدام إعدادات مثل passdb backend و ldap suffix كما هو موضح في التكوين السابق.

  4. تحديث قاعدة بيانات الحسابات:
    قم بإعادة تشغيل خدمة سامبا لتطبيق التغييرات:

    bash
    sudo systemctl restart smbd

3.4 تهيئة Winbind للاستيثاق

Winbind هو مكون مهم في سامبا، يتيح لك دمج أنظمة لينكس مع Active Directory أو خوادم LDAP لتوفير خدمات الاستيثاق. تأكد من تثبيت وتفعيل خدمة Winbind على الخادم:

  1. تثبيت Winbind:

    bash
    sudo apt install winbind
  2. تعديل إعدادات NSS و PAM:
    ستحتاج إلى تحديث NSS (Name Service Switch) و PAM (Pluggable Authentication Module) لتمكين التحقق من هوية المستخدمين عبر LDAP. قم بتعديل ملفات /etc/nsswitch.conf و /etc/pam.d/common-session لتضمين winbind في الاستيثاق:

    في /etc/nsswitch.conf:

    bash
    passwd: compat winbind group: compat winbind shadow: compat winbind

    في /etc/pam.d/common-session:

    bash
    session required pam_winbind.so

4. اختبار التكوين

4.1 التحقق من استيثاق LDAP

يمكنك التحقق من الاتصال بـ LDAP باستخدام الأداة ldapsearch. هذا يساعدك في التأكد من أن Samba قادرة على الاتصال بـ OpenLDAP بشكل صحيح:

bash
ldapsearch -x -D "cn=admin,dc=example,dc=com" -W -b "dc=example,dc=com"

4.2 التحقق من مستخدمي Winbind

بعد إعداد Winbind، يمكنك التحقق من وجود مستخدمين من LDAP باستخدام الأوامر التالية:

bash
wbinfo -u # لعرض قائمة بالمستخدمين wbinfo -g # لعرض قائمة بالمجموعات

4.3 التأكد من تشغيل الخدمات

تأكد من تشغيل جميع الخدمات الضرورية مثل smbd و nmbd و winbind:

bash
sudo systemctl status smbd sudo systemctl status nmbd sudo systemctl status winbind

5. مشاكل شائعة وحلولها

5.1 مشاكل الاتصال بـ LDAP

إذا لم تتمكن من الاتصال بـ LDAP، تحقق من تكوينات smb.conf وتأكد من أن الخادم OpenLDAP يعمل بشكل صحيح. تحقق من سجل الأخطاء باستخدام الأمر:

bash
sudo journalctl -u smbd

5.2 مشاكل في استيثاق المستخدمين

إذا واجهت مشاكل في استيثاق المستخدمين، تأكد من أن إعدادات winbind و LDAP تتماشى مع متطلبات النظام. قد تحتاج إلى تعديل إعدادات PAM أو NSS.

6. خاتمة

يمكن أن يوفر دمج سامبا مع LDAP في أوبنتو حلاً قويًا ومرنًا لإدارة الشبكات في بيئات متعددة الأنظمة. باستخدام هذا التكوين، يمكنك الاستفادة من ميزات الاستيثاق المركزية التي يقدمها LDAP مع مرونة سامبا في بيئات Windows و Linux.