24-شرح الــ samba
جدول المحتويات:
- المتطلبات الأساسية
- تثبيت سامبا على أوبونتو
- تكوين جدار الحماية
- تكوين خيارات سامبا العالمية
- إنشاء مستخدمي سامبا وهيكل الدليل
- خلق سامبا المستخدمين
- تكوين أسهم سامبا
- الاتصال بمشاركة Samba من Linux
- باستخدام العميل smbclient
- تركيب حصة سامبا
- باستخدام واجهة المستخدم الرسومية
- استنتاج
Samba هو إعادة تطبيق مجاني ومفتوح المصدر لبروتوكول مشاركة ملفات شبكة SMB / CIFS الذي يسمح للمستخدمين النهائيين بالوصول إلى الملفات والطابعات وغيرها من الموارد المشتركة.
يشرح هذا البرنامج التعليمي كيفية تثبيت Samba على Ubuntu 18.04 وتكوينه كخادم مستقل لتوفير مشاركة الملفات عبر أنظمة تشغيل مختلفة عبر شبكة.
سنقوم بإنشاء مشاركات سامبا التالية والمستخدمين.
الأعضاء:
- sadmin - مستخدم إداري له حق الوصول للقراءة والكتابة إلى جميع المشاركات. josh - مستخدم عادي مع مشاركة ملف خاص.
تشارك:
- المستخدمين - يمكن الوصول إلى هذه المشاركة باستخدام أذونات القراءة / الكتابة من قبل جميع المستخدمين. josh - يمكن الوصول إلى هذه المشاركة باستخدام أذونات القراءة / الكتابة فقط من قبل المستخدمين josh و sadmin.
يمكن الوصول إلى مشاركات الملفات من جميع الأجهزة على شبكتك. في وقت لاحق من هذا البرنامج التعليمي ، سنقدم أيضًا إرشادات مفصلة حول كيفية الاتصال بخادم Samba من عملاء Linux و Windows و macOS.
المتطلبات الأساسية
قبل المتابعة ، تأكد من تسجيل الدخول إلى نظام Ubuntu 18.04 الخاص بك كمستخدم لديه امتيازات sudo.
تثبيت سامبا على أوبونتو
السامبا متاح من مستودعات أوبونتو الرسمية. لتثبيته على نظام Ubuntu ، اتبع الخطوات التالية:
-
ابدأ بتحديث فهرس حزم 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":
تكوين خيارات سامبا العالمية
قبل إجراء تغييرات على ملف تكوين 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
:
تكوين أسهم سامبا
افتح ملف تكوين 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.
- افتح الملفات وانقر فوق "مواقع أخرى" في الشريط الجانبي. في "الاتصال بالخادم" ، أدخل عنوان مشاركة Samba بالتنسيق التالي
smb://samba_hostname_or_server_ip/sharenameانقر فوق "اتصال" وستظهر الشاشة التالية:








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
















