ذكري المظهر

كيفية تثبيت وتكوين السامبا على centos 7

24-شرح الــ samba

24-شرح الــ samba

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

Anonim

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

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

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

الأعضاء:

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

تشارك:

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

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

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

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

تثبيت سامبا على CentOS

يتوفر Samba من مستودعات CentOS القياسية. لتثبيته على نظام CentOS الخاص بك ، قم بتشغيل الأمر التالي:

sudo yum install samba samba-client

بمجرد اكتمال التثبيت ، ابدأ تشغيل خدمات Samba وتمكينها من البدء تلقائيًا عند تشغيل النظام:

sudo systemctl start smb.service sudo systemctl start nmb.service

sudo systemctl enable smb.service sudo systemctl enable nmb.service

توفر خدمة smbd خدمات مشاركة الملفات والطباعة والاستماع على منافذ TCP 139 و 445. توفر خدمة nmbd NetBIOS عبر خدمات تسمية IP للعملاء nmbd إلى منفذ UDP 137.

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

الآن بعد تثبيت Samba وتشغيله على جهاز CentOS ، ستحتاج إلى تكوين جدار الحماية الخاص بك وفتح المنافذ الضرورية. للقيام بذلك ، قم بتشغيل الأوامر التالية:

firewall-cmd --permanent --zone=public --add-service=samba firewall-cmd --zone=public --add-service=samba

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

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

ابدأ بإنشاء دليل /samba :

sudo mkdir /samba

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

sudo groupadd sambashare

sambashare /samba directory group directory إلى sambashare :

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

سيكون هذا الدليل متاحًا لجميع المستخدمين المصادق عليهم. يقوم الأمر التالي بتهيئة الوصول للكتابة / القراءة لأعضاء مجموعة 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 smb.service sudo systemctl restart nmb.service

في الأقسام التالية ، سوف نوضح لك كيفية الاتصال بمشاركة 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: ********

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

الملفات ، مدير الملفات الافتراضي في غنوم لديه خيار مدمج للوصول إلى مشاركات سامبا.

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

استنتاج

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

سامبا سنتوس