24-شرح الــ samba
جدول المحتويات:
- المتطلبات الأساسية
- تثبيت سامبا على CentOS
- تكوين جدار الحماية
- إنشاء مستخدمي سامبا وهيكل الدليل
- خلق سامبا المستخدمين
- تكوين أسهم سامبا
- الاتصال بمشاركة Samba من Linux
- باستخدام العميل smbclient
- تركيب حصة سامبا
- باستخدام واجهة المستخدم الرسومية
- استنتاج
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
:
تكوين أسهم سامبا
افتح ملف تكوين 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: ********
باستخدام واجهة المستخدم الرسومية
الملفات ، مدير الملفات الافتراضي في غنوم لديه خيار مدمج للوصول إلى مشاركات سامبا.
- افتح الملفات وانقر فوق "مواقع أخرى" في الشريط الجانبي. في "الاتصال بالخادم" ، أدخل عنوان مشاركة Samba بالتنسيق التالي
smb://samba_hostname_or_server_ip/sharenameانقر فوق "اتصال" وستظهر الشاشة التالية:








استنتاج
في هذا البرنامج التعليمي ، تعلمت كيفية تثبيت خادم Samba على CentOS 7 وإنشاء أنواع مختلفة من المشتركين والمستخدمين. لقد أظهرنا لك أيضًا كيفية الاتصال بخادم Samba من أجهزة Linux و macOS و Windows.
سامبا سنتوسكيفية تثبيت وتكوين خادم nfs على centos 8
في هذا البرنامج التعليمي ، سوف تتعرف على الخطوات اللازمة لإعداد خادم NFSv4 على CentOS 8. سنعرض لك أيضًا كيفية تثبيت نظام ملفات NFS على العميل.
كيفية تثبيت وتكوين redis على centos 7
Redis هو مخزن بنية بيانات مفتوح المصدر. يمكن استخدامه كقاعدة بيانات وذاكرة التخزين المؤقت ووسيط الرسائل ويدعم هياكل البيانات المختلفة مثل السلاسل ، هاش ، قوائم ، مجموعات إلخ.
كيفية تثبيت وتكوين السامبا على أوبونتو 18.04
يشرح هذا البرنامج التعليمي كيفية تثبيت Samba على Ubuntu 18.04 وتكوينه كخادم مستقل لتوفير مشاركة الملفات عبر أنظمة تشغيل مختلفة عبر شبكة. سنقدم أيضًا إرشادات مفصلة حول كيفية الاتصال بخادم Samba من عملاء Linux و Windows و macOS.
















