خادم ملفات خادم أوبونتو. كيفية إنشاء خادم Linux بيديك وما تحتاجه لهذا الغرض. أفضل أنظمة تشغيل Linux للخوادم

من السهل جدًا على Ubuntu نشر خادم ملفات لأجهزة Windows. الاستخدام القياسي لمثل هذا الخادم هو تنظيم تخزين الملفات داخل مجال Active Directory. ومع ذلك، يمكنك بسهولة إنشاء خوادم الملفات على شبكة بدون مجال، على سبيل المثال، للاستخدام المنزلي.

على أية حال، ستحتاج إلى Samba على الأقل، والذي يمكن تثبيته من خلال مدير الحزم Synaptic أو باستخدام الأمر

خادم الملفات كجزء من مجال Active Directory

لإنشاء خادم ملفات مدمج في مجال Active Directory، ستحتاج أولاً إلى ضم جهاز Ubuntu الخاص بك إلى المجال. تم تخصيص مقال منفصل لهذا:

لإنشاء خادم ملفات، لا تحتاج إلى تكوين PAM، ما عليك سوى إضافة مستخدمي المجال والمجموعات عبر Winbind إلى النظام.

بعد تسجيل الدخول بنجاح إلى المجال، كل ما عليك فعله هو تكوين الموارد المشتركة على جهاز الكمبيوتر الخاص بك.

هنا يجب عليك الانتباه فورًا إلى شيء مهم جدًا: يحاول Samba تعيين الحقوق الخاصة بملفات Windows على حقوق Unix، ومع ذلك، نظرًا للاختلافات الأساسية في آليات تعيين الحقوق، فإن هذا ليس ممكنًا دائمًا. يرجى ملاحظة أن حقوق الملفات يتم التحكم فيها دائمًا وعلى أية حال من خلال نظام الملفات الخاص بك على جهاز كمبيوتر يعمل بنظام Ubuntu؛ ويمكن لـ Samba التكيف معها فقط، ولكن لا يمكنه تغيير سلوكها.

لذلك، بشكل افتراضي، سيكون للموارد المشتركة إمكانات محدودة جدًا للتحكم في الوصول - حيث يتم تعيين حقوق مختلفة للمستخدم والمجموعة وكل شخص آخر. ومع ذلك، يمكن إصلاح ذلك بسهولة عن طريق إضافة دعم POSIX ACL إلى FS الخاص بك. في هذه الحالة، سيكون من الممكن تعيين حقوق مختلفة لمستخدمين ومجموعات مختلفة، كما هو الحال في Windows.

يتوفر دعم POSIX ACL في نظام ext3/4 على الأقل؛ ولتنشيطه، تحتاج فقط إلى إضافة معلمة ACL إلى خيارات التثبيت للقسم المطلوب.

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

هناك نقطة أخرى مهمة للغاية: لا تدعم قوائم POSIX ACL وراثة حقوق الوصول من الدلائل الأصلية، ولكن هذه الميزة موجودة في Windows. لذلك، تطبق Samba آلية إضافية لتخزين المعلومات حول وراثة حقوق الوصول، والتي تستخدم سمات نظام الملفات الموسعة. لذلك، لكي يتمكن Samba من التعامل بشكل صحيح مع وراثة الحقوق بخلاف ACL، من الضروري إضافة المعلمة user_xattr إلى خيارات تثبيت نظام الملفات، المسؤولة عن تمكين الدعم للسمات الموسعة.

على سبيل المثال، أستخدم دائمًا أقراص LVM منفصلة لتنظيم الموارد المشتركة، وتبدو خطوط fstab الخاصة بها كما يلي:

/dev/mapper/data-profiles /var/data/profiles ext3 defaults,noexec,acl,user_xattr 0 2

يعد خيار noexec ضروريًا لأنه يجب ألا تكون هناك ملفات Linux قابلة للتنفيذ بنسبة 100% على مشاركات Windows، ولن يضر أن تكون في الجانب الآمن مرة أخرى.

للعمل مع ACL على Ubuntu، تحتاج إلى تثبيت حزمة من الأدوات المساعدة المناسبة:

سودو الكفاءة تثبيت ACL

ثم يمكنك عرض الحقوق الموسعة (أي ACL) لملف أو دليل باستخدام الأمر

ملف Getfacl

وتثبيت مع الأمر

ملف سيتفاكل

فقط في حالة، أود أن ألفت انتباهكم إلى حقيقة أن آلية POSIX ACL لا علاقة لها بـ Samba - فهي مجرد إضافة إلى الآلية القياسية لتقسيم الحقوق في Linux. وعليه، يستطيع سامبا استخدامه، ولكن لا يمكنه تغييره أو تجاوزه بأي شكل من الأشكال.

للعمل مع سمات FS الموسعة، ستحتاج إلى حزمة أدوات مساعدة تشبه إلى حد كبير acl - attr ، والتي يمكن تثبيتها باستخدام الأمر

Sudo aptitude تثبيت attr

لعرض السمات الموسعة يمكنك استخدام الأمر

ملف Getfattr

و للتثبيت

ملف Setfattr

ومع ذلك، هناك صيد صغير واحد. والحقيقة هي أن Samba يقوم بتخزين جميع المعلومات حول الميراث في شكل ثنائي في سمة ممتدة واحدة user.SAMBA_PAI. لذلك، لن تتمكن من تغيير أي شيء باستخدام setfattr، إلا إذا قمت بإزالة السمات الموسعة بالكامل (في بعض الأحيان قد يلزم القيام بذلك).

حسنًا، سيتعين عليك إدارة وراثة الحقوق من جهاز يعمل بنظام Windows باستخدام الأدوات القياسية لهذا النظام. أو استخدم الأداة المساعدة smbcacls، إذا عرفت كيفية استخدامها.

هناك أيضًا وحدة VFS تجريبية acl_xattr، والتي تسمح لك بتخزين قوائم NT ACL بالكامل في سمات موسعة. لسوء الحظ، لا يوجد توثيق لذلك، لذلك من الصعب أن نقول أي شيء واضح حول هذا الموضوع. من المتوقع أن يتمتع Samba 4 بدعم كامل ومتكامل لقوائم NT ACL، ولكن في الوقت الحالي يمكنك استخدام ما هو متاح.

إذا كان لديك أي شيء تود إضافته حول السمات الموسعة في Samba وطرق العمل معها، فتأكد من الكتابة في هذا الموضوع في المنتدى. سأكون ممتنا لأي روابط ومقالات وتعليقات حول هذا الموضوع.

بالإضافة إلى ذلك، تسمح سمات نظام الملفات الموسعة لـ Samba بتمكين الدعم الكامل لسمات ملفات DOS مثل الملفات المخفية والأرشيف وما إلى ذلك.

لذا، لنفترض أن لديك دليلًا على النظام تريد مشاركته عبر Samba (وهو موجود على قرص مثبت عليه دعم ACL وuser_xattr). أنت الآن بحاجة إلى تكوين مشاركتها فعليًا. للقيام بذلك، تحتاج إلى إدخال المعلومات المناسبة في الملف /etc/samba/smb.conf.

لنبدأ بالإعدادات العامة التي يمكن إضافتها إلى قسم هذا الملف (هذه ليست جميع المعلمات الممكنة، فقط عدد قليل من المعلمات المفيدة جدًا):

# تعطيل مشاركة الطابعة. ما لم تكن بالطبع تريد مشاركتها حقًا. # للتعطيل تمامًا، تحتاج إلى تحديد جميع الأسطر الأربعة أدناه لتحميل الطابعات = no show add Printer wizard = no printcap name = /dev/nullتعطيل spoolss = Yes # إخفاء الملفات بالأسماء التالية عند عرضها على Windows إخفاء الملفات = /$ RECYCLE .BIN/desktop.ini/lost+found/Thumbs.db/ # استخدم مستخدم UNIX التالي كمشاركة عامة كحساب ضيف ضيف = لا أحد # معاملة المستخدمين غير المسجلين كضيوف يعينون الضيف = مستخدم سيء ## الإعدادات باستخدام ملف متقدم سمات النظام # التعامل مع وراثة الحقوق باستخدام خريطة سمات FS الموسعة acl inherit = Yes # استخدم سمات FS الموسعة لتخزين سمات DOS تخزين سمات dos = Yes # تعطيل تعيين سمات DOS على حقوق UNIX، ممكّن افتراضيًا # وفقًا لـ man smb.conf متى عند استخدام السمات الموسعة، يجب تعطيل هذه الخيارات أرشيف الخريطة = لا يوجد نظام خريطة = لا توجد خريطة مخفية = لا توجد خريطة للقراءة فقط = لا

الآن إعدادات المورد المشترك مباشرة. اسميها مظهر، وماديًا على جهاز Ubuntu الموجود فيه /var/data/profiles:

# تعليق التعليق = ملفات تعريف المستخدمين # المسار إلى المجلد الذي نشاركه المسار = /var/data/profiles/ # المستخدمون الذين لديهم حقوق وصول غير محدودة للمشاركة # لدي مجموعة مسؤولي المجال. # عند العمل مع الملفات، يتم التعامل مع هؤلاء المستخدمين كمستخدمين مسؤولين جذر محليين = "@DOMAIN\Domain Administrators" # إخفاء المجلدات التي لا يملك المستخدم حق الوصول إليها إخفاء غير قابل للقراءة = نعم # وصول غير للقراءة فقط للقراءة فقط = لا # أقنعة الملفات التي تم إنشاؤها - يمكن ضبطها حسب الرغبة # إنشاء قناع = 0600 # قناع الدليل = 0700 # تعطيل القفل - من الأفضل تعطيل القفل = لا

هناك العديد من الخيارات الأخرى - يجدر الرجوع إلى وثائق Samba للحصول على التفاصيل.

لا تنس تعيين المالك الصحيح وحقوق الوصول إلى المجلد الذي تشاركه، وإلا، على الرغم من أي إعدادات سامبا، قد تكون الكتابة إليه محظورة على مستوى أذونات Linux. عادةً ما أفعل ذلك على النحو التالي:

Sudo chmod ug+rwx /var/data/profiles sudo chown root:"مستخدمو المجال" /var/data/profiles

يرجى ملاحظة أنه نظرًا لأن جهاز Ubuntu الخاص بك مرتبط بمجال ما، فيمكنك استخدام مستخدمي المجال والمجموعات كأصحاب الملفات مباشرة في Ubuntu.

تأكد من صحة تكوين Samba باستخدام الأمر

تيستبارم

ثم أعد تشغيل سامبا:

إعادة تشغيل Sudo /etc/init.d/samba

يمكنك الآن الوصول إلى المورد المشترك من أي جهاز في المجال.

بالمناسبة، لا تنسَ SGID والبتات اللاصقة للأدلة. ستسمح لك بوراثة المجموعة المالكة ومنع المستخدمين من حذف الملفات التي ليست ملكهم - وقد يكون هذا مناسبًا جدًا للتخزين متعدد المستخدمين. ومع ذلك، على عكس حقوق التحرير من Windows، فإن تغيير هذه البتات في المجلدات الموجودة على مورد مشترك لن ينجح - فقط يدويًا مباشرة على كمبيوتر Ubuntu.

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

خادم ملفات مستقل

ليس لدى الجميع مجال Active Directory. لذلك، غالبًا ما تكون هناك حاجة لتنظيم تخزين الملفات دون اتصال بالإنترنت على جهاز Linux باستخدام نظام الترخيص الخاص به. فإنه من السهل جدا القيام به.

الميزة الرئيسية لتنظيم تخزين الملفات هذا هي أن جميع المعلومات المتعلقة بالمستخدمين سيتم تخزينها في قاعدة بيانات Samba، وبالتالي، سيتعين إضافة المستخدمين وحذفهم إلى Samba يدويًا.

الشيء الأكثر أهمية هو اتخاذ قرار بشأن طريقة الوصول إلى المورد. لتغييره، يجب عليك تعيين قيمة معلمة الأمان بشكل صحيح في قسم الملف /etc/samba/smb.conf. يمكنك قراءة المزيد عن هذه المعلمة أو في الوثائق الرسمية.

عادةً ما تكون القيمة المستخدمة هي share أو user .

خادم ملفات مستقل دون إذن

إنه مناسب للمنزل حتى يتمكن الجميع من رؤية الجميع. يمكن القيام بذلك عن طريق إضافة 4 أسطر إلى قسم الملف /etc/samba/smb.conf. قد يكون بعضها موجودًا بالفعل.

مجموعة العمل [العالمية] = تعيين مجموعة العمل إلى الضيف = اسم netbios للمستخدم السيئ = أمان دفتر الملاحظات = المستخدم

دفتر الملاحظات - اسم الكمبيوتر الذي سيكون على الشبكة. وبالإضافة إلى ذلك، تحتاج إلى تثبيت برامج إضافية:

Sudo apt-get install samba

بالنسبة إلى kubuntu، تحتاج أيضًا إلى تثبيت smb4k. بعد تحرير التكوينات، تحتاج إلى إعادة تشغيل الخدمات. في systemd (منذ 15.04) تبدو إعادة التشغيل كما يلي:

سودو systemctl إعادة تشغيل smbd.service nmbd.service

يمكنك عرض "الكرات" من خلال متصفح الملفات nautilus أو konkueror أو هكذا:

سمبكلينت-L 127.0.0.1

. الوثائق الرسمية باللغة الإنجليزية.

مشاركة مجلد على أوبونتو

إنشاء مجلد لمشاركة الملفات.

مكدير ~/share

أضف الأسطر التالية إلى نهاية الملف /etc/samba/smb.conf، مع استبدال yuraku1504 باسم مستخدم الكمبيوتر الذي يقوم بتشغيل samba:

[MyShareWork] تعليق = سامبا مجهول مسار المشاركة = / الصفحة الرئيسية/ yuraku1504/ مشاركة الضيف حسنًا = نعم قابل للتصفح = نعم قابل للكتابة = نعم للقراءة فقط = لا يوجد مستخدم إجباري = yuraku1504 فرض المجموعة = yuraku1504

سيتم فتح المجلد للقراءة والكتابة.

Samba عبارة عن حزمة برامج مفتوحة المصدر لأنظمة nix التي تنفذ بعض الميزات التي يوفرها Windows Server. يمكن لـ Samba أن يعمل كوحدة تحكم بالمجال، وخدمة Active Directory، ويمكنه مشاركة الطابعات والدلائل عبر الشبكة. في هذه المقالة، سننظر في استخدام Samba كخادم ملفات. يمكن أن يكون الدافع لاستخدام Samba بدلاً من FTP، على سبيل المثال، مختلفًا. على الأقل، بمساعدتها، حقا جداًمن السهل نقل الملفات بين أجهزة Windows وLinux. فقط قم بتركيب الدليل وانطلق.

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

نحن نشارك الكتالوج مع الجميع

تركيب سامبا:

سودو يم تثبيت سامبا

نتحقق من ذلك في /etc/samba/smb.conf في القسم لاعلق الخط:

يمكنك أيضًا تغيير اسم مجموعة العمل. لقد كتبتها هكذا:

مجموعة العمل = MYGROUP

في نهاية الملف أضف:


تعليق = مشاركة خادم ملفات سامبا
المسار = /srv/samba/share
قابل للتصفح = نعم
الضيف موافق = نعم
قراءة فقط = لا
إنشاء قناع = 0755

sudo mkdir -p /srv/samba/share
سودو تشاون لا أحد: لا أحد/srv/سامبا/مشاركة/

بدء خدمة Sudo SMB
بدء خدمة سودو nmb

# بدء الخدمات عند بدء تشغيل النظام
سودو chkconfig nmb على
Sudo chkconfig smb على

الآن، لنفترض أنه في مدير ملفات Unity الافتراضي، يمكنك إرفاقه بـ smb://10.24.5.42/share وإنشاء أدلة هناك وتحميل الملفات إليهم. وتأكد أيضًا من أن هذه التغييرات لا تحدث محليًا فحسب، بل أيضًا على الخادم.

توجد سجلات سامبا في /var/log/samba/. المنافذ التي يستخدمها Samba هي 139 و445. ويمكن إعادة توجيهها عبر SSH أو باستخدام Ncat. إنه يعمل، لقد راجعت.

الوصول عن طريق تسجيل الدخول وكلمة المرور

إن منح حق الوصول إلى الدليل للجميع أمر غير آمن. دعونا نصلح هذا الوضع:

سودو adduser smbuser
سودو smbpasswd -smbuser
sudo mkdir -p /srv/samba/smbuser
Sudo chown smbuser:smbuser/srv/samba/smbuser

في /etc/samba/smb.conf نضيف:


المسار = /srv/samba/smbuser
متاح = نعم
المستخدمين الصالحين = smbuser
قراءة فقط = لا
قابل للتصفح = نعم
العامة = نعم
قابل للكتابة = نعم

إعادة تشغيل خدمة sudo smb
إعادة تشغيل خدمة sudo nmb

قم بتثبيت الدليل في Linux وWindows:

مرحبًا، تمت مشاركة الملفات بنجاح بين Windows وLinux!

التثبيت عبر CLI

إذا لم تكن واجهة المستخدم الرسومية متاحة، فيمكنك تحميل الدليل كما يلي:

Sudo yum install samba-client samba-common cifs-utils
mkdir smbuser
Sudo mount.cifs // 10.24.5.42/ smbuser / home/ eax/ smbuser \
-o المستخدم =smbuser،كلمة المرور =PASSWORD،uid =1000 # 1000 - معرف مستخدمنا

إذا لم تعد هناك حاجة للكتالوج، فإننا نقول ذلك.

يعد نشر خادم ملفات لأجهزة Windows على Ubuntu أمرًا بسيطًا للغاية. عادةً ما يتم استخدام هذا الخادم لتنظيم تخزين الملفات داخل مجال Active Directory.

وفي الوقت نفسه، يمكنك بسهولة إنشاء خوادم ملفات على شبكة بدون مجال، بما في ذلك للاستخدام المنزلي.

على أية حال، استخدم Samba - قم بتثبيته باستخدام مدير الحزم Synaptic أو الأمر التالي:

sudoالرابطة بين الحصول على التثبيتسامبا

ملفالخادمالخامستعبيراِختِصاصالدليل النشط

لإنشاء خادم ملفات مدمج في مجال Active Directory، تحتاج أولاً إلى ضم جهاز Ubuntu الخاص بك إلى المجال.

لإنشاء خادم ملفات، لا تحتاج إلى تكوين PAM، كل ما تحتاجه هو إضافة مستخدمي المجال والمجموعات عبر Winbind إلى النظام.

بعد تسجيل الدخول إلى المجال، قم بتكوين الموارد المشتركة على جهاز الكمبيوتر الخاص بك. يرجى ملاحظة أن Samba سيقوم بتعيين أذونات ملفات Windows إلى أذونات Unix، ولكن من المحتمل أن تمنعه ​​الاختلافات الأساسية في آليات الأذونات من القيام بذلك. تتم إدارة حقوق الملفات دائمًا وعلى أي حال بواسطة نظام الملفات الخاص بك على جهاز كمبيوتر يعمل بنظام Ubuntu، ويمكن لـ Samba التكيف معها فقط، ولكن لا يمكنه تغيير سلوكها.

لذا، بشكل افتراضي، ستتمتع الموارد المشتركة بقدرات متواضعة للتحكم في الوصول، بما في ذلك تعيين حقوق مختلفة للمستخدم والمجموعة وأي شخص آخر. ولكن يمكنك إصلاح ذلك بسهولة عن طريق إضافة دعم POSIX ACL إلى FS. وبعد ذلك، يمكنك تعيين حقوق مختلفة لمستخدمين ومجموعات مختلفة، كما هو الحال في Windows.

يمكن العثور على دعم POSIX ACL في ext3/4، ولتنشيطه، ما عليك سوى إضافة معلمة ACL إلى خيارات التثبيت للقسم المطلوب.

مهم! يجب أن يكون الدليل الذي يجب مشاركته عبر Samba موجودًا على قرص مثبت عليه خيار ACL. خلاف ذلك، سيكون من المستحيل تطبيق آلية تحديد حقوق الوصول إلى الملفات الموجودة على المشاركات بشكل صحيح.

شيء آخر يجب أخذه في الاعتبار هو أن قوائم POSIX ACL لا تدعم وراثة حقوق الوصول من الدلائل الأصلية، في حين أن Windows لديه هذه الميزة. لذلك لدى Samba آلية إضافية لتخزين معلومات وراثة الأذونات باستخدام سمات نظام الملفات الموسعة. لكي يتمكن Samba من معالجة وراثة الحقوق بشكل صحيح، بالإضافة إلى ACL، قم بإضافة المعلمة user_xattr إلى خيارات تثبيت نظام الملفات، وهي المسؤولة عن تمكين الدعم للسمات الموسعة.

على سبيل المثال، من الملائم استخدام أقراص LVM منفصلة لتنظيم الموارد المشتركة. في هذه الحالة، تبدو الخطوط في fstab لهم كما يلي:

/dev/mapper/data-profiles /var/data/profiles ext3الافتراضيات،noexec،acl،user_xattr 0 2

يجب أن يكون خيار noexec في الجانب الآمن: يجب ألا تكون هناك ملفات Linux قابلة للتنفيذ بنسبة 100% على مشاركات Windows.

قم بتثبيت حزمة الأدوات المساعدة الضرورية للعمل مع ACL على Ubuntu:

سودو الكفاءة تثبيت ACL


الآن قم بعرض الحقوق الموسعة (أي ACL) على ملف أو دليل باستخدام الأمر التالي:

ملف Getfacl


التثبيت باستخدام هذا الأمر:

ملف سيتفاكل


لا تنس أن آلية POSIX ACL لا علاقة لها بـ Samba - فهي مجرد إضافة إلى آلية أذونات Linux القياسية. لذلك يمكن لـ Samba استخدامه، لكن لا يمكنه تغييره أو تجاوزه بأي شكل من الأشكال.

لاستخدام سمات FS الموسعة، تكون حزمة الأدوات المساعدة المشابهة لـ acl - attr - مفيدة، قم بتثبيتها باستخدام الأمر التالي:

Sudo aptitude تثبيت attr


لعرض السمات الموسعة، استخدم الأمر:

ملف Getfattr


وللتثبيت قم بما يلي:

ملف Setfattr


تذكر أن Samba يقوم بتخزين جميع معلومات الميراث في شكل ثنائي في سمة واحدة موسعة، user.SAMBA_PAI. لذا فإن تغيير شيء ما باستخدام setfattr لن ينجح، فقط الإزالة الكاملة للسمات الموسعة ممكنة (في بعض الحالات يصبح ذلك ضروريًا).

من الممكن التحكم في وراثة الحقوق من جهاز يعمل بنظام Windows باستخدام الأدوات القياسية لهذا النظام، أو الأداة المساعدة smbcacls.

تسمح سمات نظام الملفات الموسعة لـ Samba بتمكين الدعم الكامل لسمات ملفات DOS (على سبيل المثال، المخفية، والأرشيف، وما إلى ذلك).

إذا كان نظامك يحتوي على دليل يحتاج إلى مشاركته عبر Samba (وهو موجود على قرص مثبت عليه دعم ACL وuser_xattr)، فقم بتكوين مشاركته - أدخل المعلومات الضرورية في الملف /etc/samba/smb.conf.

أولاً، اهتم بالإعدادات العامة للإضافة إلى قسم هذا الملف:


# تعطيل مشاركة الطابعة. ما لم تكن بالطبع تريد مشاركتها حقًا. # للتعطيل تمامًا، يجب عليك تحديد الأسطر الأربعة أدناهتحميل الطابعات = لا تظهر معالج إضافة الطابعة = لا يوجد اسم printcap = /dev/null تعطيل التخزين المؤقت = نعم # جعل الملفات بالأسماء التالية مخفية عند عرضها على نظام التشغيل Windows إخفاء الملفات = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ # استخدم مستخدم UNIX التالي كضيف للمشاركة العامةحساب الضيف = لا أحد # معاملة المستخدمين غير المسجلين كضيفخريطة للضيف = مستخدم سيء ## الإعدادات التي تستخدم سمات نظام الملفات الموسعة # التعامل مع وراثة الحقوق باستخدام سمات FS الموسعةخريطة ACL ترث = نعم # استخدم سمات FS الموسعة لتخزين سمات DOSسمات تخزين دوس = نعم # تعطيل تعيين سمات DOS على حقوق UNIX، وهو ممكن افتراضيًا # وفقًا لـ man smb.conf، عند استخدام السمات الموسعة، يجب تعطيل هذه الخياراتأرشيف الخرائط = لا يوجد نظام خرائط = لا توجد خريطة مخفية = لا توجد خريطة للقراءة فقط = لا


ثم قم بتكوين المورد المشترك نفسه. تمت الإشارة إليه في المثال كملفات تعريف، وهو موجود فعليًا على جهاز Ubuntu في /var/data/profiles:


# تعليق التعليق = ملفات تعريف المستخدمين # المسار إلى المجلد الذي نشاركهالمسار = /var/data/profiles/ # مستخدمون يتمتعون بحقوق وصول غير محدودة للمشاركة # لدي مجموعة مسؤولي المجال. # يتم التعامل مع هؤلاء المستخدمين كجذر محلي عند العمل مع الملفاتالمستخدمين الإداريين = "@DOMAIN\ مسؤولي المجال" # إخفاء المجلدات التي لا يستطيع المستخدم الوصول إليهاإخفاء غير قابل للقراءة = نعم # الوصول ليس للقراءة فقطقراءة فقط = لا # أقنعة الملفات التي تم إنشاؤها - يمكن ضبطها حسب الرغبة#إنشاء قناع = 0600 #قناع الدليل = 0700 # تعطيل الأقفال - من الأفضل تعطيلهاالقفل = لا


هناك عدد من الخيارات الأخرى - جميع المعلومات التفصيلية موجودة في وثائق Samba.

تأكد من تعيين المالك الصحيح وحقوق الوصول إلى المجلد المشترك، وإلا فقد يتم حظر الكتابة إليه على مستوى أذونات Linux. انت تستطيع فعل ذالك:

Sudo chmod ug + rwx /var/data/profiles Sudo chown root :"مستخدمي المجال" /فار/بيانات/ملفات التعريف

انتباه! نظرًا لأن جهاز Ubuntu الخاص بك منضم إلى مجال، يمكنك استخدام مستخدمي المجال والمجموعات كمالكين للملفات مباشرةً في Ubuntu.

تأكد من تكوين Samba بشكل صحيح باستخدام الأمر التالي:

سودو /etc/init. إعادة تشغيل د/سامبا


يمكنك الآن الوصول إلى المورد المشترك من أي جهاز في المجال. لكن لا تنسَ SGID والبتات اللاصقة للأدلة، المصممة لوراثة المجموعة المالكة ومنع المستخدمين من حذف الملفات التي ليست ملكهم - وهذا ينطبق بشكل خاص على المخازن متعددة المستخدمين. في الوقت نفسه، على عكس حقوق التحرير من Windows، من المستحيل تغيير هذه البتات في المجلدات الموجودة على مورد مشترك - فقط يدويًا مباشرة على كمبيوتر Ubuntu.

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

خادم ملفات مستقل

ليس لدى الجميع مجال Active Directory. لذلك، غالبًا ما يصبح من الضروري تنظيم تخزين مستقل للملفات على جهاز يعمل بنظام Linux باستخدام نظام الترخيص الخاص به. ليست صعبة.

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

الشيء الرئيسي هو تحديد طريقة الوصول إلى المورد المستخدم. يجب عليك تعيين قيمة معلمة الأمان بشكل صحيح في قسم الملف /etc/samba/smb.conf.

القيمة الافتراضية هي المشاركة أو المستخدم.

ولا تنس تغيير قيمة معلمة مجموعة العمل إلى القيمة المناسبة، وستعتمد جميع الإعدادات الأخرى بشكل مباشر على أهداف محددة.

يكون الأمر مناسبًا في المنزل عندما يتمكن الجميع من رؤية الجميع. للقيام بذلك، ما عليك سوى إضافة 4 أسطر إلى قسم الملف /etc/samba/smb.conf (قد يكون بعضها موجودًا بالفعل):

مجموعة العمل [العمومية] = تعيين مجموعة العمل للضيف = اسم netbios للمستخدم السيئ = أمان دفتر الملاحظات = المستخدم


دفتر الملاحظات - اسم الكمبيوتر الذي سيكون على الشبكة. قم أيضًا بتثبيت برامج إضافية:

يشارك

ثم أضف الأسطر التالية إلى نهاية الملف /etc/samba/smb.conf، واستبدل "yuraku1504" باسم المستخدم الخاص بحاسوب Samba:


[مايشيرويرك] تعليق = مشاركة سامبا مجهولة path=/home/yuraku1504/share Guest ok= نعمقابل للتصفح = نعمقابل للكتابة = نعم يقرأفقط = لا يوجد مستخدم فرض = مجموعة قوة yuraku1504 = yuraku1504

سيتم فتح المجلد للقراءة والكتابة.

Samba هو برنامج لتنظيم مشاركة الملفات والعمل مع الموارد المشتركة بين أجهزة الكمبيوتر التي تعمل بنظام التشغيل Linux/Unix ونظام التشغيل Windows. يتكون سامبا من جزء العميل والخادم. يتيح لك جزء العميل الوصول إلى مجلدات الشبكة وموارد Windows، ويفتح جزء الخادم بدوره وصولاً عامًا إلى مجلد Ubuntu للأجهزة الأخرى، بما في ذلك Windows.

ستغطي هذه التعليمات القصيرة أبسط إعداد لـ Samba Ubuntu 18.04، بالإضافة إلى كيفية إعداد الوصول المشترك إلى مجلد Ubuntu بمستويات متعددة من الامتيازات.

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

يمكن لكل من أجهزة Linux وWindows الوصول إلى المجلدات المشتركة في Ubuntu، باستخدام أي برنامج يعمل عبر بروتوكول SMB.

لكي يعمل كل شيء بشكل صحيح، يجب أن تكون جميع الأجهزة في نفس مجموعة العمل المحددة على خادم Samba. افتراضيًا، في أنظمة التشغيل Windows وLinux وMacOS، تُسمى مجموعة العمل باسم Workgroup. لمعرفة مجموعة العمل المستخدمة في نظام Windows الخاص بك، افتح سطر الأوامر (Win+R، ثم cmd) وقم بتشغيل الأمر التالي:

محطة عمل التكوين الصافي

نرى المعلمة التي نحتاجها في السطر مجال محطة العمل. هذا هو الفريق العامل.

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

وقم بتشغيل الأمر:

المفكرة C:\Windows\System32\drivers\etc\hosts

في الملف الذي يفتح، أضف سطرًا بعنوان IP الخاص بالكمبيوتر الذي سيتم تثبيت Samba عليه:

192.168.0.1 srvr1.domain.com srvr1

يمكنك الآن الانتقال إلى مسألة كيفية مشاركة مجلد Ubuntu.

إعداد Samba على Ubuntu 16.04

لنبدأ كالعادة بالتثبيت. يتم تثبيت Samba Ubuntu مع جميع المكونات الضرورية باستخدام الأمر:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

بمجرد تثبيت كل شيء، يمكنك المتابعة إلى التكوين. أولاً، قم بإنشاء نسخة احتياطية من ملف تكوين Samba الأصلي الخاص بك:

Sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

بعد إنشاء النسخة الاحتياطية، قم بإنشاء ملف التكوين الخاص بك باستخدام هذا الأمر:

Sudo vi /etc/samba/smb.conf

أولاً، دعونا نحدد إعدادات خادم الملفات العامة. للقيام بذلك، أدخل الأسطر التالية في الملف:


مجموعة العمل = مجموعة العمل

اسم netbios = مشاركة Ubuntu
وكيل DNS = لا

الحد الأقصى لحجم السجل = 1000
الواجهة الخلفية passdb = tdbsam
مزامنة كلمة مرور يونكس = نعم

تغيير كلمة المرور بام = نعم
خريطة للضيف = مستخدم سيء
مشاركة المستخدمين تسمح للضيوف = نعم

دعونا نلقي نظرة فاحصة على ما تعنيه هذه السطور.

  • مجموعة العمل- يجب أن تكون مجموعة العمل، كما سبق ذكره، هي نفسها على جميع الأجهزة
  • اسم نتبيوس- اسم الكمبيوتر الذي سيتم عرضه في نظام التشغيل Windows؛
  • ملف تسجيل- عنوان الملف الذي سيتم تخزين رسائل الخطأ والمعلومات الأخرى فيه؛
  • حماية- إجراء المصادقة على مستوى المستخدم بشكل افتراضي؛
  • ترتيب حل الاسم- ترتيب تحليل عناوين IP حسب اسم NetBIOS. bcast - يعني إرسال طلب بث إلى الشبكة المحلية. إذا كانت كافة أجهزة الكمبيوتر التي تم التخطيط للتفاعل بينها موجودة على نفس الشبكة، فهذا الخيار هو الأمثل؛
  • الخلفية passdb- طريقة تخزين كلمات مرور المستخدم؛
  • مزامنة كلمة مرور يونكس- مزامنة كلمات مرور مستخدم سامبا مع كلمات مرور يونكس المحلية؛
  • خريطة للضيف- يشير إلى متى سيتم منح المستخدم حق الوصول كضيف. ثلاث قيم متاحة - أبداً- أبداً، مستخدم سيء- في حالة عدم وجود هذا المستخدم، كلمة مرور سيئة- عند إدخال كلمة المرور بشكل غير صحيح،

عند الانتهاء من إنشاء ملف التكوين، ننتقل إلى مسألة كيفية مشاركة مجلد Ubuntu لنظام التشغيل Windows.

مشاركة مجلدات أوبونتو

أولاً، لنقم بإنشاء مجلد مشترك يمكن للجميع الوصول إليه. أي مع وصول مجهول، دون إذن سامبا.

قم بإنشاء مجلد سنشارك الوصول إليه، على سبيل المثال:

sudo mkdir -p /samba/allaccess

بعد إنشاء المجلد، تحتاج إلى تعيين حقوق الوصول الصحيحة له. الأوامر التالية تسمح للجميع بالوصول إلى المجلد وتجعل المالك لا أحد:

مؤتمر نزع السلاح / سامبا
Sudo chmod -R 0755 allaccess
Sudo chown -R none:nogroup allaccess/

الخطوة التالية هي وصف مجلد allaccess في ملف تكوين samba:


المسار = /سامبا/allaccess
قابل للتصفح = نعم
قابل للكتابة = نعم
الضيف موافق = نعم
قراءة فقط = لا

يجب أن يبدو ملف التكوين الخاص بك الآن كما يلي:


مجموعة العمل = مجموعة العمل
سلسلة الخادم = خادم %h (Samba، Ubuntu)
اسم netbios = مشاركة Ubuntu
وكيل DNS = لا
ملف السجل = /var/log/samba/log.%m
الحد الأقصى لحجم السجل = 1000
الواجهة الخلفية passdb = tdbsam
مزامنة كلمة مرور يونكس = نعم
برنامج passwd = /usr/bin/passwd %u
تغيير كلمة المرور بام = نعم
خريطة للضيف = مستخدم سيء
مشاركة المستخدمين تسمح للضيوف = نعم
#==============
المسار = /سامبا/allaccess
قابل للتصفح = نعم
قابل للكتابة = نعم
الضيف موافق = نعم
قراءة فقط = لا

دعونا نلقي نظرة فاحصة على الخيارات التي تم استخدامها هنا:

  • طريق- المسار إلى المجلد الذي يجب مشاركته؛
  • قابل للتصفح- ما إذا كان سيتم عرض المجلد في قائمة المشاركات المتاحة؛
  • قابل للكتابة- ما إذا كان المجلد قابلاً للكتابة؛
  • يقرأ فقط- المجلد للقراءة فقط؛
  • الضيف طيب، الجمهور- ما إذا كان سيتم السماح بوصول الضيف؛
  • الضيف الوحيد- إذا تم التعيين على نعم، فسيكون الوصول إلى المجلد متاحًا للضيوف فقط؛
  • يسمح المضيفون- عناوين IP التي يمكنك من خلالها الوصول إلى هذا الخادم؛
  • المستخدمين الصالحين- بشكل افتراضي، يمكن لجميع المستخدمين تسجيل الدخول، إذا قمت بتمرير قائمة المستخدمين في هذه المعلمة، فيمكنهم فقط تسجيل الدخول؛
  • إنشاء قناع- قناع الحقوق للملفات التي تم إنشاؤها.

لتطبيق التغييرات، أعد تشغيل خادم Samba:

سودو systemctl إعادة تشغيل السامبا

اكتمل إعداد Samba Ubuntu 16.04 للوصول المجهول. يمكنك الآن التحقق من توفر المجلد المشترك allaccess من Windows، وللقيام بذلك، اضغط على Win+R وقم بتشغيل:

\\srvr1\allaccess

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

يمكنك أيضًا الاتصال بهذا الخادم من Linux باستخدام Nautilus؛ فقط اكتب العنوان smb://ip-server، في القسم أماكن أخرى:

مشاركة المجلدات الآمنة أوبونتو

لمشاركة مجلد لنظام التشغيل Windows Ubuntu، والذي لن يتمكن سوى المستخدمين من مجموعة معينة من الوصول إليه، سنقوم بإنشاء مجلد منفصل ووصفه في ملف تكوين Samba في Ubuntu.

أولا نقوم بإنشاء مجلد:

sudo mkdir -p /samba/allaccess/secured

إنشاء مجموعة:

سودو addgroup مجموعة آمنة

إعداد الحقوق:

مؤتمر نزع السلاح / سامبا / allaccess
$ sudo chown -R richard:securedgroup Secured
$ Sudo chmod -R 0770 مؤمن /

الخطوة الأخيرة هي إضافة الإعدادات إلى ملف تكوين السامبا:

Sudo vi /etc/samba/smb.conf


المسار = /سامبا/allaccess/secured
المستخدمون الصالحون = @securegroup
الضيف موافق = لا
قابل للكتابة = نعم
قابل للتصفح = نعم

أعد تشغيل خادم سامبا. الآن يمكن فقط لمستخدمي المجموعة الآمنة الوصول إلى المجلد المشترك في Ubuntu.

للتحقق من كيفية عمل ذلك، دعونا نضيف المستخدم ريتشارد إلى مجموعتنا:

Sudo usermod -a -G مجموعة آمنة ريتشارد

  • 30.03.2010

يمكن اعتبار خادم الملفات مع جهاز التوجيه، دون مبالغة، عنصرًا أساسيًا لأي مؤسسة. يبدو استخدام Linux لمثل هذا الخادم جذابًا للغاية، على الأقل في المؤسسات الصغيرة التي لا تتطلب تكاملًا وثيقًا مع AD. وستكون الأموال التي تم توفيرها في تكلفة Windows Server وتراخيص العميل مفيدة جدًا في أوقات الأزمات التي نواجهها.

سننظر في إعداد خادم الملفات باستخدام مثال شبكتنا الشرطية، التي تحتوي بالفعل على جهاز توجيه نقوم بإعداده، على الرغم من أنه لا أحد يهتم بدمج هذه الوظائف على خادم واحد.

الآن دعنا ننتقل إلى إعداد دور خادم الملفات. لتنفيذه نحتاج سامبا، توفر هذه الحزمة مشاركة الملفات والطابعات للعملاء على شبكات Microsoft.

Sudo apt-get install samba

للتكوين، قم بتحرير الملف /etc/samba/smb.confلنبدأ بالقسم العام، الذي تنطبق معلماته على جميع الخدمات. لنقم بتعيين اسم مجموعة العمل:


مجموعة العمل = مجموعة العمل

للوصول إلى موارد خادم الملفات دون الحصول على ترخيص منه، قم بتعيين المعلمة التالية:

الأمان = المشاركة

إذا كان الخادم يحتوي على العديد من واجهات الشبكة، على سبيل المثال، مدمجة مع جهاز توجيه، فيمكنك (ويجب عليك) تقييد الوصول إلى خادم الملفات على الشبكة الداخلية. لنفترض أن لدينا eth0 - شبكة خارجية، eth1 - شبكة داخلية، للعمل فقط مع الواجهة الداخلية التي نحددها:

واجهات = لو، eth1
واجهات الربط فقط = صحيح

في البداية هذه الإعدادات كافية، لا تنس حفظ التغييرات. لنأخذ بعين الاعتبار إعدادات أقسام الخدمة، لنفترض أننا بحاجة إلى مورد مشترك 1Cbasesلاستضافة 1C: قواعد بيانات المؤسسة. لنقم بإنشاء دليل جديد /data/1CBases، وتعيين الحقوق الكاملة لها للجميع:

سودو mkdir /data/1CBases
سودو شمود 777 /data/1CBases

في النهاية smb.confأضف القسم التالي:


المسار = /data/1CBases
الضيف موافق = نعم
قابل للكتابة = نعم

مع معلمات القسم، كل شيء واضح جدًا؛ يحدد اسم القسم (بين قوسين معقوفين) اسم المورد المشترك. تحدد المعلمة الأولى المسار إليها، بينما تسمح المعلمتان الثانية والثالثة بالوصول إلى الضيف والكتابة، على التوالي. احفظ ملف التكوين وأعد التشغيل سامبا:

إعادة تشغيل Sudo /etc/init.d/samba

وبعد ذلك يجب أن يكون خادمنا مرئيًا في بيئة شبكة Windows وسيتوفر عليه مجلد مشترك 1Cbases.

للإدارة عن بعد سامبانوصي بتثبيت حزمة توفر واجهة ويب قوات التدخل السريع:

Sudo apt-get install swat

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

سودو كلمة المرور الجذر
إعادة تشغيل سودو

الآن في أي متصفح تحتاج فقط إلى الكتابة http://server_name:901وبعد الحصول على إذن الوصول الكامل إلى الإعدادات سامبا.

المؤلفون قوات التدخل السريعهم المطورين سامبالذلك يمكن اعتبار هذا الحل "أصليًا". حقًا قوات التدخل السريعيوفر الوصول الكامل إلى كافة الإعدادات سامباويسمح لك بأداء أي مهمة تقريبًا دون تحرير يدوي smb.conf.