1 / 46

أولاً : NFS

مادة نظم تشغيل شبكية 2 المحاضرة السادسة Distributed File System NFS – Samba -NIS إعداد المهندس وسام المحمود. أولاً : NFS. N etwork F ile S ystem هي الطريقة الأكثر شيوعاً لمشاركة الملفات على أنظمة Linux وهو نظام ملفات موزع يؤمن دخول بعيد لنظام الملفات المحلي (الأقراص وأنظمة الملفات)

Download Presentation

أولاً : NFS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. مادة نظم تشغيل شبكية 2 المحاضرة السادسةDistributed File SystemNFS – Samba -NISإعداد المهندس وسام المحمود

  2. أولاً : NFS • Network File System • هي الطريقة الأكثر شيوعاً لمشاركة الملفات على أنظمة Linux • وهو نظام ملفات موزع يؤمن دخول بعيد لنظام الملفات المحلي (الأقراص وأنظمة الملفات) • يؤمن للزبائن نظام ملفات بعيد بشكل شفاف أي يستطيع المستخدم التنقل بالمجلدات بشكل سهل ومن أي نظام تشغيل آخر windows و Linux

  3. ما هو NFS • يستخدم NFS بنية Server/Client القياسية أي • الجزء الأول Server يتألف من أقراص صلبة تحوي أنظمة ملفات المشاركة (قائمة بالملفات المشاركة) بالإضافة للعناوين الفيزيائية لهذه الملفات (أماكن توضعها الحقيقية على الشبكة) وتسمح للزبائن بالوصول إلى هذه الملفات (قراءتها – التعديل ..ألخ ) ويؤمن ميزة قفل الملف • يقوم المستخدم بتصدير ملفاته التي يود مشاركتها فهو مخدم • يصل الزبائن المسموح لهم برؤية الملفات المصدرة إلى الملفات عن طريق mount

  4. إعداد مخدم NFS • نتأكد من تشغيل الخدمة باستخدام الأمر التالي : • service nfs start • لجعل الخدمة تعمل عند كل إقلاع استخدم الأمر • chkconfig nfs on

  5. تصدير الملفات Export • افتح الملف • /etc/exports • يكون هذا الملف فارغاً لدى تحريره لأول مرة (العلامة # تسبق كل سطر لا أهمية له قد نستخدمها لوضع تعليقات أو إشارات مساعدة) • كل سطر من أسطر هذا الملف غير مسبوق بهذه العلامة هو من الشكل التالي : • dir host(options) [host(options)] ... • Dir المجلد أو نظام الملفات المراد مشاركته (تصديره) • Host يحدد واحد أو عدة مستخدمين الذين لهم الحق بالوصول إلى الملف (المجلد – القرص)

  6. Host : • قد يكون اسماً (اسم حاسب) مرتبط بعنوان IP في الملف Hosts أو اسم يستطيع مخدم DNS تفسيره • قد يكون عنوان IP مفرد • أو شبكة كاملة 10.0.0.0/255.0.0.0 • بالإمكان استخدام الرمز (*) للسماح لجميع الأسماء التي تبدأ بمحرف ما • أو استخدام الرمز (؟) كما في المثال التالي : • Ahm?d أي مهما كان المحرف الرابع • a* جميع الأسماء التي تبدأ بالحرف أستخدمه في حال لم أتأكد من كتابة الاسم هل هو Ahmed أو Ahmad • كذلك بالإمكان السماح لمجموعة NIS كاملة برؤية الملف بوضع الـ Host كما يلي @groupname • بعد الانتهاء من التعديل على هذا الملف نفذ الأمر • Exportfs -a

  7. مثال • لمشاركة المجلد /dir نضيف السطر التالي إلى الملف Exports حيث 10.0.0.2 هو الجهاز الوحيد الذي بإمكاننا رؤية الملف منه • /dir 10.0.0.2(ro) • هذا يعني السماح للجهاز ذي العنوان 10.0.0.2 بالوصول إلى المجلد dir وله حق القراءة فقط Read-Only

  8. لنستعرض بعض الخيارات التي يمكن استخدامها

  9. إعداد الزبون • قم بإنشاء مجلد جديد نحمل عليه الملفات الشبكية • Mkdir /mnt/nfsFiles • استخدم الأمر mount لتحميل الملفات إلى المجلد السابق : • Mount –t nfs 10.0.0.1:/wesam /mnt/nfsfiles • ملاحظة لا يمكننا تحميل مجلدين إلى المجلد /mnt/nfsfiles وإنما يحتفظ بآخر مسار فقط وبذلك نحتاج لمجلد محلي لكل مجلد مشارك • مثال لتحميل مجلد آخر : • Mount –t nfs 10.0.0.1:/w2 /mnt/nfs2 • Mount –t nfs 10.0.0.1:/w3 /mnt/nfs3 • بشرط تم تصدير هذه المجلدات من المخدم NFS ذي العنوان 10.0.0.1 ولي الحق برؤية المجلدات السابقة

  10. لتحميل هذا المجلد عند الإقلاع الجهاز بشكل دائم نضيف السطر التالي إلى الملف /etc/fstab • 10.0.0.1:/dir /mnt/nfs2nfsauto,defaults • حيث 10.0.0.1:/dir مسار الملف الحقيقي على الشبكة • Nfs نظام الملفات المستخدم • /mnt/nfs2 مجلد التحميل Mount Point • Auto,default أي تحميل تلقائي عند كل إقلاع

  11. مثال 2 عن الملف Exports • /usr/local *.kurtwerks.com(ro) • /dir1 ahm?d.kurtwerks.com(rw) • /home 192.168.0.0/255.255.255.0(rw) • /projects @dev(rw) • /var/tmp 192.168.0.1(rw) • /dir2 ahm?d (rw,async,no_root_squash)

  12. Exportfs -v • يستخدم هذا الأمر لإظهار المجلدات التي أشاركها مع الآخرين • أي يعرض هذا الأمر محتويات الملف exports • أو نستخدم الأمر • Cat /etc/exports

  13. Exportfs –v -u • يستخدم هذا الأمر لإزالة مشاركة مجلد مؤقتاً (مع عدم التعديل على الملف exports) • مثال : • Exportfs –v –u 10.0.0.2:/home/serv/s • لإعادة تفعيل المشاركة يكفي تنفيذ الأمر والذي يعيد قراءة الملف exports • exportfs -a

  14. مثال 2 • أضف السطر التالي إلى الملف exports • /dir 192.168.0.* (rw,async,no_root_squash) • ثم نفذ الأمر exportfs –a • أصبح بإمكان أي مستخدم من مستخدمي الشبكة 192.168.0.0/24 من الدخول والتعديل على المجلد • ماذا نفعل لمنع الجهاز 192.168.0.10 من الوصول إلى المجلد مؤقتاً ؟ • Exportfs –v –u 192.168.0.10:/dir

  15. Showmount (host) • يستخدم هذا الأمر من قبل أي جهاز على الشبكة لمعرفة الأجهزة المستفيدين من خدمة NFS • مثال : • Showmount 10.0.0.1 • يستخدم الأمر السابق لمعرفة العناوين التي تستفيد من خدمة NFS الموجودة على الجهاز 10.0.0.1 • أستخدم هذا الأمر على جهازي لأعرف من تمكن من رؤية المجلد الذي شاركته مع بقية المستخدمين على الشبكة

  16. Showmount -a • يستخدم هذا الأمر على مخدم NFS لمعرفة الأجهزة التي تصل إلى المجلدات المشاركة • في المثال في الأسفل client هو اسم موجود في الملف hosts يشير إلى الحاسب ذو العنوان 10.0.0.2

  17. Showmount -e • يستخدم هذا الأمر على مخدم NFS لعرض قائمة المجلدات المشاركة ومن أي شبكات يتم الوصول إليها Showmount -d • يستخدم هذا الأمر على مخدم NFS لعرض قائمة المجلدات المشاركة فقط

  18. ثانياً : Samba • يستخدم لربط شبكات Linux مع شبكات MS windows • تستخدم أنظمة windows بروتوكولاً اسمهServer Message Block (SMB) • يستخدم هذا البروتوكول لربط ومشاركة الخدمات مثل مشاركة الملفات والطباعة • باستخدام برنامج Samba يمكننا مضاهاة البروتوكول SMB ومشاركة الملفات والطباعة بين أنظمة windows وLinux

  19. 1 - التأكد من تنصيب Samba • يتم تنصيب Samba على الحاسب الذي يعمل على نظام Linux (متوفر في أي توزيعة) • للتأكد من أن الحزمة منصبة نفذ الأمر : • rpm -q samba • إذا لم تكن الحزمة منصبة ستحصل على رسالة مشابهة للرسالة التالية ( :

  20. أما إذا كانت منصبة نحصل على رسالة كالرسالة التالية تبين إصدار Samba المنصب على الجهاز

  21. في حال نصب النظام دون تنصيب حزمة Samba اتبع ما يلي

  22. ستحتاج القرص الأول لنظام Linux Redhat 9

  23. 2 - إعداد مخدم Samba • ملف الإعداد الخاص بمخدم Samba هو : • /etc/samba/smb.conf • قم بإعادة تسمية هذا الملف في حال وجدته حتى لا نفقد محتواه (نسخة احتياطية) • نتأكد من تشغيل الخدمة باستخدام الأمر التالي : • service smb start • لجعل الخدمة تعمل عند كل إقلاع استخدم الأمر • chkconfig smb on

  24. لنستعرض محتوى الملف smb.conf • يتألف هذا الملف من عدة مقاطع سنقوم بالتعرف عليها بالتفصيل : [global] option = value [homes] option = value [printers] option = value [nancy] • نلاحظ أن كل مقطع يتألف من عدة أسطر كل سطر من الشكل option = value ولدينا المئات من الـ Options و الـValues

  25. المقطع Global [global] workgroup = ONE netbios name = TERRY server string = Samba Server security = SHARE encrypt passwords = yes log file = /var/log/samba/log max log size = 50 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = No wins support = Yes hosts allow = 192.168.1. hosts deny = all

  26. workgroup = ONE :اسم مجموعة العمل يكون مطابقاً للموجود في أنظمة windows • netbios name = TERRYالاسم الذي سيستخدمه windows لمعرفة مخدم Samba • server string = Samba Serverاسم مخدم Samba • log file = /var/log/samba/logموقع حفظ ملف مسجل أحداث المخدم Samba • max log size = 50الحجم الأعظمي لملف مسجل الأحداث مقدراً بالكيلو بايت

  27. security = SHAREمستوى الحماية يأخذ القيمة Share وهي القيمة المناسبة للسماح للمستخدمين مجهولي المصدر بالاتصال مع المخدم • socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192تضبط المخدم ليكون في أفضل أدائه TCP_NODELAY هي القيمة الافتراضية وهناك قيمة BUF عند وضعها يستخدم المخدم ذاكرة Buffer • dns proxy = Noفي حال عدم وجود DNS

  28. wins support = Yesيستخدم لجعل مخدم Samba يعمل كمخدم WINS • hosts allow = 192.168.1.أي ستتم الموافقة على الطلبات الواردة من هذه الشبكة • hosts deny = allسيتم رفض جميع الطلبات (بالتأكيد باستثناء الشبكة الموافق عليها)

  29. المقطع HOMES • يستخدم هذا المقطع لإعطاء المستخدمين دخولاً سريعاً لمجلداتهم الموجودة ضمن المجلد Home • comment = Home Directories • مجرد سطر تعليق • read only = No • المجلدات للقراءة فقط أو للتعديل والقراءة

  30. المقطع Printers • يحدد هذا المقطع خيارات الطباعة : • path = /var/spool/sambaيحدد مسار مجلد الطابعة المؤقت (أو المكب Spool) • guest ok = Yesالسماح للضيوف باستخدام الطابعة • print ok = Yesيسمح للزبائن بإرسال أعمال الطباعة للمجلد المحدد سابقاً وفي حال عدم وضع هذا الخيار لن يتمكن أحد من القيام بالطباعة • browseable = Yesيسمح للطابعة أن تظهر في حال تم البحث عنها

  31. المقطع ahmad • في هذا المقطع أصف المجلد الذي أود مشاركته : • path = /oldwinمسار المجلد المسموح لي بالدخول إليه • valid users = ahmadيحدد أسماء المستخدمين الذين سأشاركهم المجلد • read only = No تمكين عملية التعديل على المجلد • guest ok = noمنع الضيوف من الوصول • browseable = yesتمكين الاستعراض

  32. استخدام الأداة Samba Server

  33. بهذه الطريقة نكون قد قمنا بإعداد مخدم Samba • يبقى تحديد المجلدات التي سأشاركها مع windows • اضغط على الزر add

  34. لنحاول الآن الوصول إلى المجلد من جهاز windows • طبعاً لا ننسى من الضروري إضافة الشبكة 10.0.0. إلى الملف smb.conf لاحظ وجود بعض الشبكات المضافة مسبقاً وأضف عليها 10. أو 10.0. أو 10.0.0. • اذهب لـ windows افتح نافذة التشغيل run

  35. لن نتمكن من الدخول إلى المجلد لأن المخدم لم يسمح بدخول الضيوف ولرؤية المجلد يجب تغيير الصلاحيات من قبل المخدم

  36. جرب حذف الملف f • عدل محتوى الملف fg

  37. لن تتمكن من التعديل على الملف • ولن تتمكن من حذف أحد الملفات (حتى لو نجحت في حذف ملف ستتفاجئ ببقائه عند الدخول مرة أخرى) • السبب أنك دخلت ضيفاً بصلاحيات المستخدم serv وهو ليس root • وليس له الحق في التعديل على المجلد /ahmad • غير القيمة guest account إلى root • عندها فقط ستتمكن من التعديل بنجاح

  38. شكراً لحسن إصغائكم

More Related