السلام عليكم ورحمة الله وبركاته
سأتحدث في هذا الموضوع عن خدمة Samba للتحقق ومشاركة الملفات والطابعات في الشبكة ، سأتحدث عن اعدادها كسيرفر باستخدام نظام ردهات ، وايضا ساتكلم عن اعدادها بأجهزة العملاء او Client ، لن أتعمق بالحديث عن التفاصيل ولكن سيفهم القارئ امور كثير مهمة للتعامل مع الخدمة واعدادها والاستفادة منها
بداية يجب علينا تركيب الحزمة samba كتركيب اي برنامج ، ثم قم بتشغيلها حالياً وتشغيلها عند اقلاع النظام بهذه الامرين
الان نقوم بتحرير ملف الاعداد /etc/samba/smb.conf هذا هو ملف الاعداد الرئيسي للخدمة.
يحتوي هذا الملف على 3 اقسام مهمة سنتطرق بالحديث عن كل قسم ، لكن علينا اولاً معرفتها :
-1 الاعدادات العامة للخدمة وتقع تحت قسم يسمى Global ، نستخدم هذا المكان لوضع جميع الاعدادات العامة للخدمة.
-2 اعدادات المستخدمين وتقع تحت قسم يسمى Homes ، نستخدمة لعمل المشاركات بمافيها منازل المستخدمين لدينا
-3 اعدادات الطابعة ، ويقع تحت قسم يسمى Printers ، ونستخدمة لمشاركة أي طابعة موجودة في السيرفر ، ليستطيع استخدامها عن طريق اجهزة الشبكة الاخرى.
أولا / قسم [global] ، وهذا مثال لبعض الاعدادات اللي توضع فيه.
كماترى فهذه اعدادات للخدمة بشكل عام ، كاسم مجموعة العمل بالاضافة الى تحديد عنوان الشبكة المحلية لدواعي امنية واعداد الطابعة بشكل تلقائي من الخدمة وتحديد اماكن تخزين ملفات اللوق لها ، هذا ليس كل شي فعند فتحك لملف الاعداد وقرائته ستجد عشرات الخيارات والاعدادات في قسم global او قسم الاعدادات العامة ، مالاتعرفه لا تعدل فيه واتركه افتراضي كما هو.
ثانيا / قسم [homes] ، القسم الخاص بتعريف الملفات المشتركة بالاضافة الى تحديد صلاحياتها ، سيتضح ذلك ببعض الامثلة
هذا مثال بسيط لعمل مشاركة للهوم تبعي /home/abdulaziz/ لاحظ ان المجلد المشترك نضع للخيار path
أول سطر من المشاركة هو اسمها [my-home] ، اما السطر الثاني في لاضافة اي معلومات او تعليق حول المشاركة ، والسطر الثالث لتحديد الملف المشترك من الخيار path واما السطر الرابع هو لتحديد المستخدمين المسموح لهم باستخدام هذه المشاركة وهم هنا abdulaziz و linuxac فقط ، اما السطر الخامس public لجعل المشاركة عمومية لكامل مستخدمين الشبكة نقوم بوضع yes بدلا من no ، والسطر السادس writable لجعل المجلد المشتركة يمكن الكتابة فيه yes ولمنعهم نضع no ، اما السطر الاخير printable فهو لتحديد اذا كانت هذه المشاركة عبارة عن طابعه او عبارة عن disk
هناك الكثير من الخيارات وسأسرد أهمها والاكثر استخداما ، كما يلي
هذه أهم الخيارات المتوفره لمشاركة مجلد ما عبر الشبكة ، نسخدمها كماهو واضح من المثال السابق.
وهنا مثال آخر لمجلد مشترك متوفر للجميع ، باسم public بمعنى عام او عمومي
لاحظ الخيار only guest بمعنى انه مسموح للجميع لا يطلب مستخدم معين للوصول للمشاركة.
مثال آخر لسيرفر اف تي بي
لاحظ الخيار الجديدة
استخدمناهم عندما كنا بحاجه لذلك ;)
ثالثا / الطابعات [printers] سأذكر أمثلة ، لكن علينا بالبداية وضع الاعدادات العامة في قسم [global] كما يلي
مثال على طابعة مشتركة
يجب أن تكون الطابعة تعمل لديك ، ثم وبهذه الاعدادات يمكن لجميع مستخدمي الشبكة باستخدامها
وهنا مثال آخر أكثر دقة وشمولية من الاول
بعد اتمام اللازم واعداد المشاركات كمايجب في ملف الاعداد علينا الان التحقق منها بالامر testparm ، قم بكتابته في سطر الاوامر وانظر النتائج.
وعند الضغط على انتر ، يظهر لنا تفاصيل هذه المشاركات
هذا كل مايتوفر لدي من معلومات حول أعداد السامبا بالسيرفر ، ماتبقى علينا الان هو المستخدمين وكيفية التحكم بهم.
المستخدمين لا يستطيعون مباشرة استخدام المشاركات ، لأن خدمة السامبا تطلب وجود مستخدمين خاصين بها
أولا يجب أن يكون المستخدم موجود فعلا في النظام ، بمعنى اخر يجب ان يكون مسجل في ملف /etc/passwd حتى نستطيع تعريفه كمستخدم سامبا.
تستطيع انشاء يوزر خاص فقط لاستخدام السامبا من خلال الامر
انشأنا هذا المستخدم smbuser واصبح موجود في النظام ، ولتعريفه كمستخدم سامبا ، يجب علينا استخدام الامر
سيطلب منا باسوورد واعادة كتابته.
في النظام يخزن المستخدمين في الملف /etc/passwd وفي سامبا يخزن المستخدمون في ملف /etc/samba/smbpasswd
هذا الملف smbpasswd يجب ان يحتوي على كل المستخدمين الذين يجب ان يصلوا للمشاركات عبر خدمة السامبا.
لازالة مستخدم سامبا يمكنك من خلال الامر
مستخدمي لينوكس يمكنهم البحث عن المشاركات من خلال الامر findsmb
ويمكنهم رؤية تفاصيل المشاركة من خلال الامر
فعند كتابة الامر سيطلب منا باسوورد المستخدم ثم سيظهر مايلي حسب المشاركات
وللوصول الى المجلدات المشتركة يجب عليهم عمل mount للمجلد البعيد ليمكنهم الدخول عليه محلياً عبر الواجهة الرسومية ان ارادوا
يمكننا عمل mount بعدة طرق والافضل هو وضع المعلومات في ملف fstab لتبقى المشاركة موجودة مباشرة في كل مره يشتغل فيها النظام ، هذه عدة امثله لعمل mount
لاحظ اننا نعمل ال mount بوضع الاي بي أو الهوست ثم اسم المشاركة كما يلي
ولجعل الوصول متوفر عند تشغيل الجهاز ، يجب علينا وضع هذه المعلومات في ملف /etc/fstab بالطريقة التاليه
لاحظ ان نوع نظام الملفات smbfs ومن ضمن الخيارات نقوم بتمرير اليوزر والباسسورد كما ترى
ويمكن لمستخدمين الوندوز الوصول لهذه المشاركات ، لكني لست ملزم بشرحها لاني لا أملك وندوز واستطيع التحقق من نتائج العمل
اخيراً يمكننا اعداد كل هذا بواسطة الاداة system-config-samba وهي اداة رسومية للتحكم بالمشاركات والمستخدمين وهذه بعض الصور للأداة ، وهي تجعل سامبا سهلة جداً بعد قرائتك للموضوع وفهم التفاصيل
هذه الواجهة

ومن هنا نضع الاعدادات العامة للخدمة


وهذه صورة لاضافة وازالة المستخدمين بها

وهذه صورة لاضافة مشاركة

وبالتوفيق للجميع ، ان شاء الله الكل يستفيد
سأتحدث في هذا الموضوع عن خدمة Samba للتحقق ومشاركة الملفات والطابعات في الشبكة ، سأتحدث عن اعدادها كسيرفر باستخدام نظام ردهات ، وايضا ساتكلم عن اعدادها بأجهزة العملاء او Client ، لن أتعمق بالحديث عن التفاصيل ولكن سيفهم القارئ امور كثير مهمة للتعامل مع الخدمة واعدادها والاستفادة منها
بداية يجب علينا تركيب الحزمة samba كتركيب اي برنامج ، ثم قم بتشغيلها حالياً وتشغيلها عند اقلاع النظام بهذه الامرين
كود:
service smb start chkconfig smb on
يحتوي هذا الملف على 3 اقسام مهمة سنتطرق بالحديث عن كل قسم ، لكن علينا اولاً معرفتها :
-1 الاعدادات العامة للخدمة وتقع تحت قسم يسمى Global ، نستخدم هذا المكان لوضع جميع الاعدادات العامة للخدمة.
-2 اعدادات المستخدمين وتقع تحت قسم يسمى Homes ، نستخدمة لعمل المشاركات بمافيها منازل المستخدمين لدينا
-3 اعدادات الطابعة ، ويقع تحت قسم يسمى Printers ، ونستخدمة لمشاركة أي طابعة موجودة في السيرفر ، ليستطيع استخدامها عن طريق اجهزة الشبكة الاخرى.
أولا / قسم [global] ، وهذا مثال لبعض الاعدادات اللي توضع فيه.
كود:
[global] workgroup = mygroup server string = Samba Server hosts allow = 192.168.1. 192.168.2. 127. printcap name = /etc/printcap load printers = yes log file = /var/log/samba/%m.log max log size = 50
ثانيا / قسم [homes] ، القسم الخاص بتعريف الملفات المشتركة بالاضافة الى تحديد صلاحياتها ، سيتضح ذلك ببعض الامثلة
كود:
[my-home] comment = Abdulaziz's home is sharing path = /home/abdulaziz/ valid users = abdulaziz linuxac public = no writable = yes printable = no
أول سطر من المشاركة هو اسمها [my-home] ، اما السطر الثاني في لاضافة اي معلومات او تعليق حول المشاركة ، والسطر الثالث لتحديد الملف المشترك من الخيار path واما السطر الرابع هو لتحديد المستخدمين المسموح لهم باستخدام هذه المشاركة وهم هنا abdulaziz و linuxac فقط ، اما السطر الخامس public لجعل المشاركة عمومية لكامل مستخدمين الشبكة نقوم بوضع yes بدلا من no ، والسطر السادس writable لجعل المجلد المشتركة يمكن الكتابة فيه yes ولمنعهم نضع no ، اما السطر الاخير printable فهو لتحديد اذا كانت هذه المشاركة عبارة عن طابعه او عبارة عن disk
هناك الكثير من الخيارات وسأسرد أهمها والاكثر استخداما ، كما يلي
كود:
comment = لتعليق path = المجلد المراد مشاركته عبر الشبكة valid users = لتحديد المستخدمين افصل بينهم بمسافة بحيث لا يمكن لغيرهم الوصول للمجلد ويمكننا وضع مجموعة public = لجعلة متاح للزوار والمستخدمين بالخيارات yes-no writable = للسماح بالكتابة داخل المجلد اثناء الوصول اليه printable = لتعريف ما اذا كانت المشاركة عبارة عن طابعه او مجلد browseable = المجلد مرئي اثناء البحث عن المجلدات المشتركة
وهنا مثال آخر لمجلد مشترك متوفر للجميع ، باسم public بمعنى عام او عمومي
كود:
[public] path = /usr/somewhere/else/public public = yes only guest = yes writable = yes printable = no
مثال آخر لسيرفر اف تي بي
كود:
[FTP-Server] comment = READ ONLY - Corp FTP Server path = /var/ftp guest ok = Yes browseable = Yes create mask = 0755 directory mask = 0755 write list = john, fred force group = ftp force user = ftp
كود:
guest ok write list force group force user
ثالثا / الطابعات [printers] سأذكر أمثلة ، لكن علينا بالبداية وضع الاعدادات العامة في قسم [global] كما يلي
كود:
[global] load printers = yes printing = cups printcap name = cups cups options = raw
كود:
[printers] comment = All Printers path = /var/spool/samba browseable = no public = yes printable = yes
وهنا مثال آخر أكثر دقة وشمولية من الاول
كود:
[printers] comment = Network Printers path = /var/spool/samba browseable = No public = Yes guest ok = Yes writable = No printable = Yes admin users = @printadmins use client driver = Yes
بعد اتمام اللازم واعداد المشاركات كمايجب في ملف الاعداد علينا الان التحقق منها بالامر testparm ، قم بكتابته في سطر الاوامر وانظر النتائج.
كود:
[[email protected] RHCE]# testparm Load smb config files from /etc/samba/smb.conf Processing section "[homes]" Processing section "[printers]" Processing section "[Shared]" Processing section "[SmallGroup]" Processing section "[Financial]" Processing section "[FTP-Server]" Processing section "[WEB-Server]" Loaded services file OK. Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions
هذا كل مايتوفر لدي من معلومات حول أعداد السامبا بالسيرفر ، ماتبقى علينا الان هو المستخدمين وكيفية التحكم بهم.
المستخدمين لا يستطيعون مباشرة استخدام المشاركات ، لأن خدمة السامبا تطلب وجود مستخدمين خاصين بها
أولا يجب أن يكون المستخدم موجود فعلا في النظام ، بمعنى اخر يجب ان يكون مسجل في ملف /etc/passwd حتى نستطيع تعريفه كمستخدم سامبا.
تستطيع انشاء يوزر خاص فقط لاستخدام السامبا من خلال الامر
كود:
useradd -c "Samba User" -d /home/smbuser -s /sbin/nologin smbuser
كود:
smbpasswd -a smbuser
في النظام يخزن المستخدمين في الملف /etc/passwd وفي سامبا يخزن المستخدمون في ملف /etc/samba/smbpasswd
هذا الملف smbpasswd يجب ان يحتوي على كل المستخدمين الذين يجب ان يصلوا للمشاركات عبر خدمة السامبا.
لازالة مستخدم سامبا يمكنك من خلال الامر
كود:
smbpasswd -x smbuser
كود:
[[email protected] RHCE]# findsmb *=DMB +=LMB IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION --------------------------------------------------------------------- 10.0.0.3 EX4MPLE +[MYGROUP] [Unix] [Samba 3.0.10-1.4E.2] [[email protected] RHCE]#
كود:
smbclient -U smbuser -L 10.0.0.3
كود:
Domain=[EX4MPLE] OS=[Unix] Server=[Samba 3.0.10-1.4E.2] Sharename Type Comment --------- ---- ------- Shared Disk Global Share - All Users SmallGroup Disk Small Share - Few Users Financial Disk RESTRICTED - Financial Cell FTP-Server Disk READ ONLY - Corp FTP Server IPC$ IPC IPC Service (Samba Server) ADMIN$ IPC IPC Service (Samba Server) alice Disk Home Directories Domain=[EX4MPLE] OS=[Unix] Server=[Samba 3.0.10-1.4E.2] Server Comment --------- ------- Workgroup Master --------- ------- MYGROUP EX4MPLE [[email protected] RHCE]#
يمكننا عمل mount بعدة طرق والافضل هو وضع المعلومات في ملف fstab لتبقى المشاركة موجودة مباشرة في كل مره يشتغل فيها النظام ، هذه عدة امثله لعمل mount
كود:
smbmount //EX4MPLE/Shared /media/shared -o guest smbmount //EX4MPLE/SmallGroup /media/cdrive -o username=administrator mount -t smbfs //EX4MPLE/FTP-Server /media/anyfolder -o username=administrator smbmount //10.0.0.3/Financial /media/smbmnt -o username=administrator,password="secret"
كود:
//10.0.0.3/ShareName //EX4MPLE/FTP-Server
كود:
//10.0.0.3/Shared /home/user/shared smbfs noauto,user,username=smbuser,password=secret 0 0
ويمكن لمستخدمين الوندوز الوصول لهذه المشاركات ، لكني لست ملزم بشرحها لاني لا أملك وندوز واستطيع التحقق من نتائج العمل
اخيراً يمكننا اعداد كل هذا بواسطة الاداة system-config-samba وهي اداة رسومية للتحكم بالمشاركات والمستخدمين وهذه بعض الصور للأداة ، وهي تجعل سامبا سهلة جداً بعد قرائتك للموضوع وفهم التفاصيل
هذه الواجهة

ومن هنا نضع الاعدادات العامة للخدمة


وهذه صورة لاضافة وازالة المستخدمين بها

وهذه صورة لاضافة مشاركة


وبالتوفيق للجميع ، ان شاء الله الكل يستفيد
تعليق