Product SiteDocumentation Site

11.5. إعداد مشاركات ويندوز باستخدام سامبا

سامبا هي مجموعة أدوات تدعم بروتوكول SMB (يُعرَف أيضاً باسم ”CIFS“) على لينكس. يستخدم ويندوز هذا البروتوكول لمشاركة الملفات والطابعات على الشبكة.
Samba can also act as a Windows domain controller. This is an outstanding tool for ensuring seamless integration of Linux servers and the office desktop machines still running Windows.

11.5.1. مخدم سامبا

تحوي الحزمة samba المخدمين الرئيسين لسامبا 4، smbd وnmbd.

11.5.1.1. الإعداد باستخدام debconf

The package sets up a minimal configuration during the initial installation in /etc/samba/smb.conf by plainly copying /usr/share/samba/smb.conf. So you should really run dpkg-reconfigure samba-common to adapt it:
On first installation the only piece of required information is the name of the workgroup where the Samba server will belong (the answer is FALCOTNET in our case).
In case of a package update (from the old stable Debian version) or if the SMB server has already been configured to use a WINS server (wins server), the package also proposes identifying the WINS server from the information provided by the DHCP daemon. The Falcot Corp administrators rejected this option, since they intend to use the Samba server itself as the WINS server.

11.5.1.2. الإعداد اليدوي

11.5.1.2.1. التعديلات على smb.conf
تتطلب احتياجات شركة فلكوت تعديل خيارات أخرى من الملف /etc/samba/smb.conf. تلخص المقتطفات التالية التعديلات التي أجروها في قسم [global].
[...]

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = FALCOTNET

[...]

# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
   wins support = yes 1

[...]

####### Authentication #######

# Server role. Defines in which mode Samba will operate. Possible
# values are "standalone server", "member server", "classic primary
# domain controller", "classic backup domain controller", "active
# directory domain controller".
#
# Most people will want "standalone server" or "member server".
# Running as "active directory domain controller" will require first
# running "samba-tool domain provision" to wipe databases and create a
# new domain.
   server role = standalone server

   obey pam restrictions = yes

[...]

# "security = user" is always a good idea. This will require a Unix account
# in this server for every user accessing the server.
   security = user 2

[...]

1

Indicates that Samba should act as a Netbios name server (WINS) for the local network. This option had been removed from the default configuration in Buster and must be added manually if desired.

2

هذه هي القيمة الافتراضية لهذا المتغير؛ لكن بما أنها مركزية في إعدادات سامبا، فيفضّل إعادة ضبطها صراحة. كل مستخدم يحتاج المصادقة قبل أن يصل لأي مشاركة.
11.5.1.2.2. إضافة المستخدمين
يحتاج كل مستخدم سامبا حساباً على المخدم؛ يجب إنشاء حسابات يونكس أولاً، بعدها يجب تسجيل المستخدم في قاعدة بيانات سامبا. خطوة إضافة مستخدم يونكس تتم حسب الطريقة المعتادة (باستخدام adduser مثلاً).
أما لإضافة مستخدم حالي إلى قاعدة بيانات سامبا فيكفي تشغيل الأمر smbpasswd -a user؛ سيطلب هذا الأمر إدخال كلمة السر.
يمكن حذف المستخدم بالأمر smbpasswd -x user. كما يمكن تعطيل حسابات سامبا مؤقتاً (باستخدام smbpasswd -d user) وإعادة تفعيلها لاحقاً (باستخدام smbpasswd -e user).

11.5.2. عميل سامبا

تسمح ميزة العميل في سامبا لأجهزة لينكس بالوصول لمشاركات ويندوز والطابعات المشتركة. تتوفر البرامج المطلوبة في الحزمتين cifs-utils و smbclient.

11.5.2.1. البرنامج smbclient

يستعلم البرنامج smbclient عن مخدمات SMB. وهو يقبل الخيار -U user، للاتصال بالمخدم بالهوية المحددة. يتصل الأمر smbclient //server/share بالمشاركة بطريقة تفاعلية تشابه استخدام عميل FTP نصي. يسرد smbclient -L server جميع المشاركات المتاحة (والمرئية) على المخدم.

11.5.2.2. ربط مشاركات ويندوز

يسمح الأمر mount بربط مشاركة ويندوز مع شجرة نظام ملفات لينكس (بمساعدة الأمر mount.cifs المتوفر في cifs-utils).

مثال 11.21. ربط مشاركات ويندوز

mount -t cifs //arrakis/shared /shared \
      -o credentials=/etc/smb-credentials
صيغة الملف /etc/smb-credentials (الذي يجب ألا تعطى صلاحية قراءته للمستخدمين) كالتالي:
username = user
password = password
يمكن تحديد خيارات أخرى من سطر الأوامر؛ تتوفر قائمة كاملة بهذه الخيارات في صفحة الدليل mount.cifs(1)‎. هناك خيارات بالذات قد يهمانك: uid وgid اللذان يسمحان بفرض مالك ومجموعة للملفات المتاحة على المشاركة، حتى لا تنحصر صلاحيات الوصول بالمستخدم الجذر.
كما يمكن ضبط عملية ربط مشاركة ويندوز في الملف /etc/fstab:
//server/shared /shared cifs credentials=/etc/smb-credentials
Unmounting an SMB/CIFS share is done with the standard umount command.

11.5.2.3. الطباعة على طابعة مشتركة

CUPS هو حل أنيق للطباعة من محطة عمل لينكس على طابعة يشاركها جهاز ويندوز. عند تثبيت الحزمة smbclient، يسمح CUPS بثبيت طابعات ويدوز المشتركة تلقائياً.
إليك الخطوات اللازمة:
  • ادخل إلى واجهة إعداد CUPS: ‏http://localhost:631/admin
  • انقر على ”إضافة طابعة“.
  • اختر الطابعة، انتق ”طابعة ويندوز عبر سامبا“.
  • أدخل عنوان URI للاتصال بالطابعة الشبكية. يجب أن يشبه ما يلي:
    smb://user:password@server/printer.
  • أدخل الاسم الذي سيعرف هذه الطابعة بشكل فريد. بعدها أدخل وصف الطابعة ومكانها. سوف تُعرَض هذه المعلومات للمستخدمين النهائيين لمساعدتهم على تمييز الطابعات.
  • حدد الشركة الصانعة للطابعة وطرازها، أو فوراً قدّم ملف وصف طابعة مناسب (PPD).
تهانينا! الطابعة تعمل!