ذكري المظهر

كيفية تثبيت وتكوين السامبا على أوبونتو 18.04

24-شرح الــ samba

24-شرح الــ samba

جدول المحتويات:

Anonim

Samba هو إعادة تطبيق مجاني ومفتوح المصدر لبروتوكول مشاركة ملفات شبكة SMB / CIFS الذي يسمح للمستخدمين النهائيين بالوصول إلى الملفات والطابعات وغيرها من الموارد المشتركة.

يشرح هذا البرنامج التعليمي كيفية تثبيت Samba على Ubuntu 18.04 وتكوينه كخادم مستقل لتوفير مشاركة الملفات عبر أنظمة تشغيل مختلفة عبر شبكة.

سنقوم بإنشاء مشاركات سامبا التالية والمستخدمين.

الأعضاء:

  • sadmin - مستخدم إداري له حق الوصول للقراءة والكتابة إلى جميع المشاركات. josh - مستخدم عادي مع مشاركة ملف خاص.

تشارك:

  • المستخدمين - يمكن الوصول إلى هذه المشاركة باستخدام أذونات القراءة / الكتابة من قبل جميع المستخدمين. josh - يمكن الوصول إلى هذه المشاركة باستخدام أذونات القراءة / الكتابة فقط من قبل المستخدمين josh و sadmin.

يمكن الوصول إلى مشاركات الملفات من جميع الأجهزة على شبكتك. في وقت لاحق من هذا البرنامج التعليمي ، سنقدم أيضًا إرشادات مفصلة حول كيفية الاتصال بخادم Samba من عملاء Linux و Windows و macOS.

المتطلبات الأساسية

قبل المتابعة ، تأكد من تسجيل الدخول إلى نظام Ubuntu 18.04 الخاص بك كمستخدم لديه امتيازات sudo.

تثبيت سامبا على أوبونتو

السامبا متاح من مستودعات أوبونتو الرسمية. لتثبيته على نظام Ubuntu ، اتبع الخطوات التالية:

  1. ابدأ بتحديث فهرس حزم apt:

    sudo apt update

    قم بتثبيت حزمة Samba باستخدام الأمر التالي:

    sudo apt install samba

    بمجرد اكتمال التثبيت ، ستبدأ خدمة Samba تلقائيًا. للتحقق من تشغيل خادم سامبا ، اكتب:

    sudo systemctl status smbd

    يجب أن يبدو الإخراج كما يلي أدناه للإشارة إلى أن خدمة Samba نشطة وتعمل:

    ● smbd.service - Samba SMB Daemon Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2019-11-27 09:25:38 UTC; 2min 12s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 15142 (smbd) Status: "smbd: ready to serve connections…" Tasks: 4 (limit: 1152) CGroup: /system.slice/smbd.service…

في هذه المرحلة ، تم تثبيت سامبا وجاهزة للتكوين.

تكوين جدار الحماية

على افتراض أنك تستخدم UFW لإدارة جدار الحماية الخاص بك ، يمكنك فتح المنافذ عن طريق تمكين ملف تعريف "Samba":

sudo ufw allow 'Samba'

تكوين خيارات سامبا العالمية

قبل إجراء تغييرات على ملف تكوين Samba ، قم بإنشاء نسخة احتياطية لأغراض مرجعية في المستقبل:

sudo cp /etc/samba/smb.conf{,.backup}

تم تكوين ملف التكوين الافتراضي الذي يأتي مع حزمة Samba لخادم Samba المستقل. افتح الملف وتأكد من تعيين server role على standalone server

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

… # Most people will want "standalone sever" 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…

افتراضيًا ، يستمع Samba على جميع الواجهات. إذا كنت تريد تقييد الوصول إلى خادم Samba من شبكتك الداخلية فقط ، فقم بإلغاء تحديد السطرين التاليين وتحديد الواجهات المراد ربطها:

/etc/samba/smb.conf

… # The specific set of interfaces / networks to bind to # This can be either the interface name or an IP address/netmask; # interface names are normally preferred interfaces = 127.0.0.0/8 eth0 # Only bind to the named interfaces and/or networks; you must use the # 'interfaces' option above to use this. # It is recommended that you enable this feature if your Samba machine is # not protected by a firewall or is a firewall itself. However, this # option cannot handle dynamic or non-broadcast interfaces correctly. bind interfaces only = yes…

بمجرد الانتهاء من تشغيل الأداة المساعدة testparm للتحقق من ملف التكوين Samba عن الأخطاء. إذا لم تكن هناك أخطاء في البنية ، فسترى Loaded services file OK.

أخيرًا ، أعد تشغيل خدمات Samba باستخدام:

sudo systemctl restart smbd sudo systemctl restart nmbd

إنشاء مستخدمي سامبا وهيكل الدليل

لسهولة الصيانة والمرونة بدلاً من استخدام الدلائل الرئيسية القياسية ( /home/user ) ، ستكون جميع أدلة وبيانات Samba موجودة في دليل /samba .

لإنشاء نوع دليل /samba :

sudo mkdir /samba

قم بتعيين ملكية المجموعة على sambashare . تم إنشاء هذه المجموعة أثناء تثبيت Samba ، وسنقوم لاحقًا بإضافة جميع مستخدمي Samba إلى هذه المجموعة.

sudo chgrp sambashare /samba

يستخدم Samba مستخدمي Linux ونظام أذونات المجموعة ، لكن لديه آلية المصادقة الخاصة به منفصلة عن مصادقة Linux القياسية. سننشئ المستخدمين باستخدام أداة Linux useradd القياسية ، ثم نقوم بتعيين كلمة مرور المستخدم باستخدام الأداة المساعدة smbpasswd .

كما ذكرنا في المقدمة ، سننشئ مستخدمًا عاديًا يمكنه الوصول إلى مشاركة ملفه الخاص وحساب إداري واحد له حق الوصول للقراءة والكتابة إلى جميع المشاركات على خادم Samba.

خلق سامبا المستخدمين

لإنشاء مستخدم جديد باسم josh استخدم الأمر التالي:

sudo useradd -M -d /samba/josh -s /usr/sbin/nologin -G sambashare josh

خيارات useradd لها المعاني التالية:

  • -M- لا تقم بإنشاء الدليل الرئيسي للمستخدم. سننشئ هذا الدليل يدويًا. -d /samba/josh - اضبط الدليل الرئيسي للمستخدم على /samba/josh . -s /usr/sbin/nologin - تعطيل وصول shell لهذا المستخدم. -G sambashare - إضافة المستخدم إلى مجموعة sambashare .

قم بإنشاء الدليل الرئيسي للمستخدم وقم بتعيين ملكية الدليل على المستخدم josh و sambashare group:

sudo mkdir /samba/josh sudo chown josh:sambashare /samba/josh

سيضيف الأمر التالي بت setgid إلى دليل /samba/josh بحيث ترث الملفات التي تم إنشاؤها حديثًا في هذا الدليل مجموعة الدليل الأصل. وبهذه الطريقة ، بغض النظر عن المستخدم الذي ينشئ ملفًا جديدًا ، سيحتوي الملف على مالك مجموعة sambashare . على سبيل المثال ، إذا لم تقم بتعيين أذونات الدليل إلى 2770 وكان مستخدم sadmin ينشئ ملفًا جديدًا فلن يتمكن المستخدم josh من القراءة / الكتابة إلى هذا الملف.

sudo chmod 2770 /samba/josh

أضف حساب مستخدم josh إلى قاعدة بيانات Samba عن طريق تعيين كلمة مرور المستخدم:

sudo smbpasswd -a josh

سيُطلب منك إدخال كلمة مرور المستخدم وتأكيدها.

New SMB password: Retype new SMB password: Added user josh.

بمجرد تعيين كلمة المرور لتمكين تشغيل حساب Samba:

sudo smbpasswd -e josh

Enabled user josh.

لإنشاء مستخدم آخر كرر نفس العملية كما هو الحال عند إنشاء المستخدم josh .

بعد ذلك ، لنقم بإنشاء مستخدم ومجموعة sadmin . سيكون لجميع أعضاء هذه المجموعة أذونات إدارية. في وقت لاحق إذا كنت تريد منح أذونات إدارية لمستخدم آخر ، sadmin ببساطة بإضافة ذلك المستخدم إلى مجموعة sadmin .

قم بإنشاء المستخدم الإداري عن طريق كتابة:

sudo useradd -M -d /samba/users -s /usr/sbin/nologin -G sambashare sadmin

سيقوم الأمر أعلاه أيضًا بإنشاء مجموعة sadmin وإضافة المستخدم إلى كل من مجموعات sambashare و sambashare .

قم بتعيين كلمة مرور وتمكين المستخدم:

sudo smbpasswd -a sadmin sudo smbpasswd -e sadmin

بعد ذلك ، قم بإنشاء دليل مشاركة Users :

sudo mkdir /samba/users

قم بتعيين ملكية الدليل إلى مستخدم sadmin و sambashare group:

sudo chown sadmin:sambashare /samba/users

سيكون هذا الدليل متاحًا لجميع المستخدمين المصادق عليهم. يتيح الأمر chmod التالي إمكانية الوصول للكتابة / القراءة لأعضاء مجموعة sambashare في دليل /samba/users :

sudo chmod 2770 /samba/users

تكوين أسهم سامبا

افتح ملف تكوين Samba وألحق الأقسام:

sudo nano /etc/samba/smb.conf /etc/samba/smb.conf

path = /samba/users browseable = yes read only = no force create mode = 0660 force directory mode = 2770 valid users = @sambashare @sadmin path = /samba/josh browseable = no read only = no force create mode = 0660 force directory mode = 2770 valid users = josh @sadmin

الخيارات لها المعاني التالية:

  • و - أسماء المشاركات التي ستستخدمها عند تسجيل الدخول. path - المسار إلى المشاركة. browseable - ما إذا كان يجب إدراج المشاركة في قائمة المشاركات المتوفرة. من خلال الإعداد no مستخدمين آخرين ، لن يتمكن من رؤية المشاركة. read only - ما إذا كان المستخدمون المحددون في قائمة valid users الصالحين قادرين على الكتابة إلى هذه المشاركة. force create mode - تعيين أذونات الملفات التي تم إنشاؤها حديثًا في هذه المشاركة. force directory mode - تعيين أذونات الدلائل التي تم إنشاؤها حديثًا في هذه المشاركة. valid users - قائمة المستخدمين والمجموعات المسموح لهم بالوصول إلى المشاركة. المجموعات مسبوقة بالرمز @ .

لمزيد من المعلومات حول الخيارات المتاحة ، انظر صفحة وثائق ملف تكوين Samba.

بمجرد الانتهاء ، أعد تشغيل خدمات Samba باستخدام:

sudo systemctl restart smbd sudo systemctl restart nmbd

في الأقسام التالية ، سوف نوضح لك كيفية الاتصال بمشاركة Samba من عملاء Linux و macOS و Windows.

الاتصال بمشاركة Samba من Linux

يمكن لمستخدمي Linux الوصول إلى مشاركة samba من سطر الأوامر ، باستخدام مدير الملفات أو تحميل مشاركة Samba.

باستخدام العميل smbclient

smbclient هي أداة تتيح لك الوصول إلى Samba من سطر الأوامر. الحزمة smbclient غير مثبتة مسبقًا على معظم توزيعات Linux ، لذا ستحتاج إلى تثبيتها مع مدير حزمة التوزيع.

لتثبيت smbclient على تشغيل Ubuntu و Debian:

sudo apt install smbclient

لتثبيت smbclient على CentOS و Fedora ، قم بتشغيل:

sudo yum install samba-client

بناء الجملة للوصول إلى مشاركة Samba كالتالي:

mbclient //samba_hostname_or_server_ip/share_name -U username

على سبيل المثال للاتصال بمشاركة اسمها josh على خادم Samba بعنوان IP 192.168.121.118 كمستخدم josh الذي تقوم بتشغيله:

smbclient //192.168.121.118/josh -U josh

سيُطلب منك إدخال كلمة مرور المستخدم.

Enter WORKGROUP\josh's password:

بمجرد إدخال كلمة المرور ، سيتم تسجيل دخولك إلى واجهة سطر أوامر Samba.

Try "help" to get a list of possible commands. smb: \>

تركيب حصة سامبا

لتحميل مشاركة Samba على نظام Linux أولاً ، يلزمك تثبيت حزمة cifs-utils .

على Ubuntu و Debian:

sudo apt install cifs-utils

على CentOS و Fedora المدى:

sudo yum install cifs-utils

بعد ذلك ، قم بإنشاء نقطة تحميل:

sudo mkdir /mnt/smbmount

تحميل المشاركة باستخدام الأمر التالي:

sudo mount -t cifs -o username=username //samba_hostname_or_server_ip/sharename /mnt/smbmount

على سبيل المثال لتركيب مشاركة باسم josh على خادم Samba بعنوان IP 192.168.121.118 كمستخدم josh /mnt/smbmount التحميل /mnt/smbmount التي ستقوم بتشغيلها:

sudo mount -t cifs -o username=josh //192.168.121.118/josh /mnt/smbmount

سيُطلب منك إدخال كلمة مرور المستخدم.

Password for josh@//192.168.121.118/josh: ********

باستخدام واجهة المستخدم الرسومية

الملفات ، يحتوي مدير الملفات الافتراضي في Gnome على خيار مدمج للوصول إلى مشاركات Samba.

  1. افتح الملفات وانقر فوق "مواقع أخرى" في الشريط الجانبي. في "الاتصال بالخادم" ، أدخل عنوان مشاركة Samba بالتنسيق التالي smb://samba_hostname_or_server_ip/sharename انقر فوق "اتصال" وستظهر الشاشة التالية:

استنتاج

في هذا البرنامج التعليمي ، تعلمت كيفية تثبيت خادم Samba على Ubuntu 18.04 وإنشاء أنواع مختلفة من المشتركين والمستخدمين. لقد أظهرنا لك أيضًا كيفية الاتصال بخادم Samba من أجهزة Linux و macOS و Windows.

سامبا أوبونتو