ديف أوبس

دمج سامبا مع Active Directory

دمج سامبا مع Active Directory لمشاركة الملفات والطباعة بين أوبنتو وويندوز

تُعد بيئة الشبكات المختلطة التي تضم أنظمة تشغيل متعددة مثل أوبنتو (Linux) وويندوز من التكوينات الشائعة في المؤسسات، مما يفرض الحاجة إلى إيجاد حلول فعالة تضمن تكامل هذه الأنظمة بسلاسة، وخصوصاً في ما يتعلق بمشاركة الملفات والطابعات. ويبرز في هذا السياق دور Samba كأداة مفتوحة المصدر تتيح لأنظمة Linux الانضمام إلى بيئة Active Directory التي توفرها خوادم ويندوز، ما يسمح بالتفاعل الكامل بين النظامين من حيث المصادقة، مشاركة الملفات، والوصول إلى موارد الطباعة.

يهدف هذا المقال إلى تقديم شرح مفصل وشامل لكيفية دمج Samba مع Active Directory في نظام أوبنتو، لتفعيل المشاركة الفعالة للملفات والطابعات بين خوادم Linux وأجهزة ويندوز ضمن بيئة شبكية موحدة وآمنة.


1. مقدمة تقنية حول Samba وActive Directory

ما هو Samba؟

Samba هو مشروع مفتوح المصدر يتيح لأنظمة التشغيل المستندة إلى Unix (مثل Linux) تنفيذ بروتوكول SMB/CIFS المستخدم بشكل أساسي من قبل أنظمة ويندوز لمشاركة الملفات والطابعات. بفضل Samba، يمكن لأجهزة Linux التفاعل مع Active Directory والظهور كأعضاء ضمن نطاق ويندوز.

ما هو Active Directory؟

Active Directory (AD) هو نظام إدارة مركزي للمصادقة والتحكم في الوصول تُطوره شركة مايكروسوفت، ويُستخدم لإدارة المستخدمين، الأجهزة، السياسات الأمنية، والخدمات الأخرى داخل بيئة شبكية.

أهمية دمج Samba مع Active Directory

عند دمج نظام أوبنتو مع AD من خلال Samba، تتحقق الفوائد التالية:

  • مشاركة الملفات والطابعات بين الأنظمة بسلاسة.

  • مصادقة مستخدمي ويندوز على خوادم Linux تلقائياً.

  • فرض سياسات وصول موحدة عبر الشبكة.

  • تقليل الحاجة لإدارة حسابات محلية منفصلة على كل نظام.


2. المتطلبات الأساسية لدمج Samba مع Active Directory

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

  • نظام تشغيل أوبنتو 20.04 أو أحدث.

  • الوصول إلى خادم Active Directory ضمن نفس الشبكة.

  • تثبيت الحزم التالية: samba, krb5-user, winbind, libpam-winbind, libnss-winbind.

إعدادات الشبكة

  • يجب أن يكون وقت النظام متزامناً مع خادم Active Directory باستخدام ntp.

  • ضبط اسم المضيف (hostname) بشكل صحيح ومطابق لنطاق DNS.


3. إعداد Kerberos للمصادقة مع Active Directory

Kerberos هو البروتوكول الذي يعتمد عليه AD لإجراء المصادقة. ولضبطه على أوبنتو، يجب تحرير الملف /etc/krb5.conf.

مثال على محتوى krb5.conf

ini
[libdefaults] default_realm = EXEMPLE.LOCAL dns_lookup_realm = false dns_lookup_kdc = true

يجب استبدال EXEMPLE.LOCAL بنطاق Active Directory الحقيقي.

بعد الحفظ، يمكن التحقق من الاتصال عبر الأمر:

bash

ثم:

bash
klist

إذا تم عرض التذكرة بنجاح، فإن الاتصال بـ Kerberos صحيح.


4. إعداد ملف تكوين Samba

يتم تعديل ملف التكوين الرئيسي لـ Samba والموجود في /etc/samba/smb.conf. مثال على الإعداد:

ini
[global] workgroup = EXEMPLE realm = EXEMPLE.LOCAL security = ads encrypt passwords = yes idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config EXEMPLE : backend = rid idmap config EXEMPLE : range = 10000-999999 winbind use default domain = true winbind offline logon = false winbind enum users = yes winbind enum groups = yes template shell = /bin/bash template homedir = /home/%U client use spnego = yes client ntlmv2 auth = yes restrict anonymous = 2

ثم حفظ الملف وإعادة تشغيل الخدمات التالية:

bash
sudo systemctl restart smbd nmbd winbind sudo systemctl enable winbind

5. الانضمام إلى نطاق Active Directory

بعد إعداد الملفات، يتم الانضمام إلى النطاق عبر الأمر:

bash
sudo net ads join -U administrateur

عند نجاح العملية، يجب أن يظهر الجهاز ضمن قائمة أجهزة Active Directory.

للتأكد من الانضمام:

bash
net ads testjoin

ولتأكيد التعرف على المستخدمين والمجموعات:

bash
wbinfo -u wbinfo -g

6. تكامل NSS وPAM مع Winbind

لتمكين النظام من التعرف على المستخدمين والمجموعات من AD، يجب تعديل الملفات التالية:

ملف /etc/nsswitch.conf

يتم تعديل الأسطر الخاصة بـ passwd وgroup:

ini
passwd: compat winbind group: compat winbind shadow: compat

تكامل مع PAM (Pluggable Authentication Modules)

لتفعيل المصادقة من خلال AD:

bash
sudo pam-auth-update

وتفعيل الخيارات التالية:

  • Create home directory on login

  • Winbind NT/Active Directory authentication


7. مشاركة الملفات مع مستخدمي Active Directory

بعد الانضمام للنطاق، يمكن الآن إعداد مجلد مشترك. على سبيل المثال، إنشاء مجلد ومشاركته:

bash
sudo mkdir -p /srv/partage sudo chown root:"EXEMPLE\\Domain Users" /srv/partage sudo chmod 2770 /srv/partage

ثم إضافة القسم التالي في smb.conf:

ini
[Partage] path = /srv/partage browsable = yes writable = yes read only = no guest ok = no valid users = @"EXEMPLE\Domain Users"

ثم إعادة تشغيل الخدمة:

bash
sudo systemctl restart smbd

8. إعداد الطباعة من خلال Samba

يمكن مشاركة طابعات موصولة بخادم أوبنتو أو اكتشاف طابعات شبكية من خلال إعدادات Samba.

تمكين مشاركة الطابعات:

ini
[printers] comment = All Printers path = /var/spool/samba browseable = no guest ok = no writable = no printable = yes

كما يجب تثبيت CUPS ودعم الطابعات:

bash
sudo apt install cups printer-driver-all

وتفعيل الخدمات:

bash
sudo systemctl enable cups sudo systemctl start cups

9. تحسين الأداء والأمان

لضمان أداء أعلى وأمان شبكي أقوى في بيئة مختلطة بين أوبنتو وويندوز، يُوصى باتباع الممارسات التالية:

  • استخدام تشفير الاتصالات بين الأجهزة.

  • تقييد الوصول عبر عناوين IP ضمن نطاق معين.

  • تكوين جدران الحماية (UFW أو iptables) للسماح فقط بالبروتوكولات الضرورية.

  • مراقبة سجلات Samba وWinbind للتعرف على أي محاولات وصول غير مصرح بها.

  • تفعيل عمليات التدقيق الأمني Logwatch أو AuditD.


10. إدارة المستخدمين والمجموعات من خلال واجهات رسومية

على الرغم من أن معظم عمليات التكوين تعتمد على الطرفية (Terminal)، إلا أنه يمكن استخدام أدوات مثل Cockpit أو Webmin لتسهيل الإدارة من خلال واجهة رسومية، مما يُسهل مراقبة الخدمات وإدارة الموارد المشتركة.


11. اختبار وتوثيق التكامل

من الضروري إجراء اختبارات عملية بعد كل مرحلة من مراحل التكوين:

  • التحقق من إمكانية ولوج مستخدمي AD إلى الموارد المشتركة.

  • التأكد من أن صلاحيات الوصول تعمل كما هو متوقع.

  • اختبار الطباعة من جهاز ويندوز باستخدام تعريف الطابعة المشتركة من أوبنتو.

  • تسجيل جميع التغييرات في وثائق توثيقية داخلية لتسهيل الصيانة المستقبلية.


12. جدول يلخّص المكونات الأساسية المطلوبة للتكامل

العنصر الوظيفة الحزمة أو الأداة
Samba مشاركة الملفات والطابعات عبر بروتوكول SMB samba
Winbind ربط حسابات AD مع Linux winbind, libpam-winbind
Kerberos المصادقة الموحدة من خلال Active Directory krb5-user
CUPS إدارة الطابعات على نظام أوبنتو cups
PAM/NSS دمج المصادقة عبر AD مع نظام الملفات والمستخدمين تكوين nsswitch.conf, pam-auth-update
ntp مزامنة الوقت مع خوادم AD ntp أو chrony

13. الخلاصة

يوفر دمج Samba مع Active Directory حلاً قوياً ومتكاملاً لإدارة بيئات شبكية مختلطة تجمع بين لينكس وويندوز، ويُعد هذا الدمج ضرورياً لتحقيق الاتساق في إدارة الموارد، المصادقة، وضبط السياسات الأمنية. لا يقتصر الأمر على مشاركة الملفات والطابعات، بل يتعداه إلى توفير بيئة مؤسسية قابلة للتوسع وموثوقة في تلبية احتياجات المؤسسات المعاصرة، مع ضمان التكامل التام مع الأدوات والإجراءات المتبعة في نظم ويندوز.


المراجع: