table of contents
- unstable 4.30.2-1
| rpc.mountd(8) | System Manager's Manual | rpc.mountd(8) |
الاسم¶
rpc.mountd - برنامج خفي لوصل NFS
موجز¶
/usr/sbin/rpc.mountd [خيارات]
الوصف¶
ينفذ البرنامج الخفي rpc.mountd جانب الخادم من بروتوكول وصل NFS، وهو بروتوكول جانبي لـ NFS يُستخدم في الإصدار 2 من NFS [RFC1094] والإصدار 3 من NFS [RFC1813]. كما يستجيب لطلبات من نواة لينكس لاستيثاق العملاء ويوفر تفاصيل أذونات الوصول.
يحافظ خادم NFS (nfsd) على خبيئة من معلومات الاستيثاق والتفويض تُستخدم لتحديد مصدر كل طلب، ثم أذونات الوصول التي يمتلكها ذلك المصدر لأي نظام ملفات محلي. عندما لا تُوجد المعلومات المطلوبة في الخبيئة، يرسل الخادم طلبًا إلى mountd لملء المعلومات المفقودة. يستخدم Mountd جدول معلومات مخزن في /var/lib/nfs/etab ويُدار بواسطة exportfs(8)، ربما استنادًا إلى محتويات exports(5)، للاستجابة لكل طلب.
وصل أنظمة ملفات NFS المُصدّرة¶
يحتوي بروتوكول وصل NFS على عدة إجراءات. أهمها MNT (وصل تصدير) وUMNT (فك وصل تصدير).
يحتوي طلب MNT على وسيطين: وسيط صريح يحتوي على اسم مسار الدليل الجذر للتصدير المراد وصله، ووسيط ضمني هو عنوان IP للمُرسِل.
عند استلام طلب MNT من عميل NFS، يتحقق rpc.mountd من اسم المسار وعنوان IP للمُرسِل مقابل جدول التصدير الخاص به. إذا كان المُرسِل مسموحًا له بالوصول إلى التصدير المطلوب، يُرجع rpc.mountd مقبض ملف NFS للدليل الجذر للتصدير إلى العميل. يمكن للعميل بعد ذلك استخدام مقبض الملف الجذر وطلبات NFS LOOKUP للتنقل في هيكل الدليل للتصدير.
ملف rmtab¶
يسجل البرنامج الخفي rpc.mountd كل طلب MNT ناجح بإضافة إدخال إلى ملف /var/lib/nfs/rmtab. عند استلام طلب UMNT من عميل NFS، يزيل rpc.mountd ببساطة الإدخال المطابق من /var/lib/nfs/rmtab، طالما أن قائمة التحكم في الوصول لذلك التصدير تسمح لذلك المُرسِل بالوصول إلى التصدير.
يمكن للعملاء اكتشاف قائمة أنظمة الملفات التي يُصدّرها خادم NFS حاليًا، أو قائمة العملاء الآخرين الذين ركبوا تصديراته، باستخدام أمر showmount(8). يستخدم showmount(8) إجراءات أخرى في بروتوكول وصل NFS للإبلاغ عن معلومات حول أنظمة الملفات المُصدّرة للخادم.
لاحظ، مع ذلك، أنه لا يوجد ضمان كبير بأن محتويات /var/lib/nfs/rmtab دقيقة. قد يستمر العميل في الوصول إلى تصدير حتى بعد استدعاء UMNT. إذا أعاد العميل التشغيل دون إرسال طلب UMNT، تبقى إدخالات قديمة لذلك العميل في /var/lib/nfs/rmtab.
وصل أنظمة الملفات باستخدام NFSv4¶
لا يستخدم الإصدار 4 (وما بعده) من NFS بروتوكول وصل NFS منفصل. بدلاً من ذلك، يُجرى الوصل باستخدام طلبات NFS عادية يُعالجها خادم NFS في نواة لينكس (nfsd). وبالتالي، لا يُحدّث /var/lib/nfs/rmtab ليعكس أي نشاط لـ NFSv4.
الخيارات¶
- -d النوع أو --debug النوع
- تشغيل التصحيح. الأنواع الصالحة هي: all، auth، call، general وparse.
- -l أو --log-auth
- تمكين تسجيل الاستجابات لطلبات الاستيثاق والوصول من nfsd. تُخبّئ النواة كل استجابة لمدة 30 دقيقة (أو كما هو محدد بواسطة --ttl أدناه)، وتُحدّث بعد 15 دقيقة (نصف وقت ttl) إذا بقي العميل ذو الصلة نشطًا. لاحظ أن -l مكافئ لـ -d auth وبالتالي يمكن تمكينه في /etc/nfs.conf باستخدام "debug = auth" في قسم [mountd].
- يسجل rpc.mountd دائمًا استجابات الاستيثاق لطلبات MOUNT عند استخدام NFSv3، ولكن للحصول على سجلات مماثلة لـ NFSv4، هذا الخيار مطلوب.
- -i أو --cache-use-ipaddr
- عادةً، يُطابق كل عنوان IP للعميل كل معرف مضيف (اسم، حرف بدل، مجموعة شبكية، إلخ) موجود في /etc/exports، ويُشكل هوية مجمعة من جميع المعرفات المتطابقة. غالبًا ما تتطابق عدة عملاء مع نفس الهوية المجمعة، لذا يُقلل إجراء هذا التطابق من عدد تفاصيل الوصول المميزة التي يحتاج النواة لتخزينها. يؤدي تحديد الخيار -i إلى كبت هذا التطابق، بحيث يُطلب الوصول إلى كل نظام ملفات ويُخبأ بشكل منفصل لكل عنوان IP للعميل. قد يزيد هذا من عبء تحديث الخبيئة قليلاً، لكنه قد يجعل رسائل السجل الناتجة عن الخيار -l أسهل في القراءة.
- -T أو --ttl
- يُوفر وقت حياة (TTL) للمعلومات المخبأة المُعطاة للنواة. ستطلب النواة عادةً تحديثًا إذا كانت المعلومات مطلوبة بعد انقضاء نصف هذا الوقت. تؤدي زيادة الرقم المُقدم، والذي يكون بالثواني، إلى تقليل معدل طلبات تحديث الخبيئة، وهذا ملحوظ بشكل خاص عند تسجيل هذه الطلبات باستخدام -l. ومع ذلك، تعني الزيادة أيضًا أن التغييرات في تعيينات اسم المضيف إلى العنوان قد تستغرق وقتًا أطول لملاحظتها. قيمة TTL المبدئية هي 1800 (30 دقيقة).
- -F أو --foreground
- يُشغّل في المقدمة (لا يُحوّل إلى خدمة خلفية)
- -h أو --help
- اعرض رسالة الاستخدام.
- -o num أو --descriptors num
- يُعيِّن حد عدد واصفات الملفات المفتوحة إلى num. المبدئي هو ترك الحد دون تغيير.
- -N mountd-version أو --no-nfs-version mountd-version
- يمكن استخدام هذا الخيار لطلب ألا يُقدم rpc.mountd إصدارات معينة من NFS. يمكن للإصدار الحالي من rpc.mountd دعم كل من إصدارات NFS 2 و3 و4. إذا كان ينبغي عدم تقديم أي من هذه الإصدارات، يجب استدعاء rpc.mountd بالخيار --no-nfs-version <vers> .
- -n أو --no-tcp
- لا يُعلن عن TCP للوصل.
- -p num أو -P num أو --port num
- يُحدد رقم المنفذ المستخدم لمقابس الاستماع RPC. إذا لم يُحدد هذا الخيار، سيحاول rpc.mountd استشارة /etc/services، وإذا نجح في الحصول على المنفذ، يُعيِّن نفس المنفذ لجميع مقابس الاستماع، وإلا يختار منفذًا عابرًا عشوائيًا لكل مقبس استماع.
- يمكن استخدام هذا الخيار لتثبيت قيمة منفذ مستمعي rpc.mountd عندما يجب أن تعبر طلبات وصل NFS جدار حماية بين العملاء والخوادم.
- -H prog أو --ha-callout prog
- يُحدد برنامج استدعاء عالي التوفر. يستقبل هذا البرنامج استدعاءات لجميع طلبات MOUNT وUNMOUNT. يسمح هذا باستخدام rpc.mountd في بيئة NFS عالية التوفر (HA-NFS).
- يُشغّل برنامج الاستدعاء مع 4 وسائط. الأول هو mount أو unmount اعتمادًا على سبب الاستدعاء. الثاني سيكون اسم العميل الذي ينفذ الوصل. الثالث سيكون المسار الذي يركبه العميل. الأخير هو عدد التراكيب المتزامنة التي نعتقد أن العميل لديه لهذا المسار.
- هذا الاستدعاء غير مطلوب مع نوى 2.6 والإصدارات الأحدث. بدلاً من ذلك، يُركب نظام ملفات nfsd على /proc/fs/nfsd.
- -s, --state-directory-path directory
- حدد دليلاً لوضع معلومات الحالة فيه (etab و rmtab). إذا لم يتم تحديد هذا الخيار، يُستخدم المسار المبدئي /var/lib/nfs.
- -r, --reverse-lookup
- يتتبع rpc.mountd عناوين IP في ملف rmtab. عند تقديم طلب DUMP (على سبيل المثال، بواسطة شخص يشغل showmount -a)، فإنه يُرجع عناوين IP بدلاً من أسماء المضيفين بشكل مبدئي. يتسبب هذا الخيار في قيام rpc.mountd بإجراء بحث عكسي على كل عنوان IP وإرجاع اسم المضيف بدلاً من ذلك. قد يكون لتمكين هذا تأثير سلبي كبير على الأداء في بعض الحالات.
- -t N أو --num-threads=N أو --num-threads N
- يحدد هذا الخيار عدد سلاسل العمليات العاملة التي يُنشئها rpc.mountd. المبدئي هو سلسلة واحدة، وهو كافٍ على الأرجح. عادةً ما تكون هناك حاجة إلى سلاسل أكثر فقط لخوادم NFS التي تحتاج إلى التعامل مع عواصف تثبيت لمئات من تثبيتات NFS في بضع ثوانٍ، أو عندما يكون خادم DNS الخاص بك بطيئًا أو غير موثوق.
- -u أو --no-udp
- لا تُعلن عن UDP للتثبيت
- -V version أو --nfs-version version
- يمكن استخدام هذا الخيار لطلب أن يُقدم rpc.mountd إصدارات معينة من NFS. يمكن للإصدار الحالي من rpc.mountd دعم كل من NFS الإصدار 2 والإصدار الأحدث 3.
- -v أو --version
- اطبع إصدار rpc.mountd واخرج.
- -c أو --apply-root-cred
- عندما
يُطلب من mountd
السماح
بتثبيت NFSv3
لدليل فرعي
من الدليل
المُصدَّر،
فإنه
سيتحقق مما
إذا كان
المستخدم
الذي يطلب
التثبيت
لديه حقوق
بحث في
الأدلة
أسفل ذلك
الدليل
المُصدَّر.
عند إجراء
التحقق،
سيطبق mountd أي
قواعد ضغط
الجذر أو
ضغط الكل
التي تم
تحديدها
لذلك
العميل.
يتطلب إجراء فحوصات البحث كمستخدم أن يتم تشغيل برنامج mountd الخفي كجذر أو أن تُمنح صلاحيات CAP_SETUID و CAP_SETGID حتى يتمكن من تغيير إعدادات المستخدم الفعال والمجموعة الفعالة الخاصة به. عند استكشاف الأخطاء وإصلاحها، يُرجى أيضًا ملاحظة أن أطر عمل LSM مثل SELinux يمكنها أحيانًا منع البرنامج الخفي من تغيير المستخدم/المجموعات الفعالة على الرغم من إعدادات الصلاحية.
في الإصدارات السابقة من mountd، تم إجراء نفس الفحوصات باستخدام صلاحيات الجذر لبرنامج mountd الخفي، مما يعني أنه يمكنه تفويض الوصول إلى الأدلة التي لا يمكن للمستخدم الذي يطلب تثبيتها الوصول إليها عادةً. يُفعّل هذا الخيار هذا السلوك القديم.
ملاحظة: إذا كانت هناك حاجة لتوفير الوصول إلى أدلة فرعية محددة لا يمكن للعميل الوصول إليها عادةً، فمن الممكن دائمًا إضافة إدخالات تصدير تمنح هذا الوصول صراحةً. لا تعتمد هذه القدرة على تمكين هذا الخيار.
- -g أو --manage-gids
- اقبل الطلبات من النواة لتعيين أرقام معرفات المستخدمين إلى قوائم أرقام معرفات المجموعات لاستخدامها في التحكم بالوصول. سيحتوي طلب NFS عادةً (باستثناء عند استخدام Kerberos أو الاستيثاق التشفيري الآخر) على معرف مستخدم وقائمة من معرفات المجموعات. بسبب قيود في بروتوكول NFS، يمكن إدراج 16 معرف مجموعة على الأكثر. إذا استخدمت العلامة -g، فسيتم استبدال قائمة معرفات المجموعات المستلمة من العميل بقائمة من معرفات المجموعات المحددة بواسطة بحث مناسب على الخادم. لاحظ أن معرف المجموعة 'الأساسي' لا يتأثر، لذا فإن أمر newgroup على العميل سيظل فعالاً. تتطلب هذه الوظيفة نواة لينكس بإصدار لا يقل عن 2.6.21.
- -L أو --no-netlink
- عطّل استخدام netlink للاتصال بالنواة وافرض استخدام واجهات /proc/net/rpc القديمة بدلاً من ذلك. يمكن أن يكون هذا مفيدًا لتصحيح الأخطاء أو للتعامل مع مشكلات netlink في النواة.
ملف الضبط¶
يمكن التحكم في العديد من الخيارات التي يمكن تعيينها في سطر الأوامر أيضًا من خلال القيم المحددة في أقسام [mountd] أو، في بعض الحالات، [nfsd] من ملف التهيئة /etc/nfs.conf. تشمل القيم المعترف بها في قسم [mountd]: manage-gids وno-netlink وcache-use-ipaddr وdescriptors وport وthreads وttl وreverse-lookup وstate-directory-path وha-callout، ولكل منها نفس تأثير الخيار الذي يحمل الاسم نفسه.
تشمل القيم المعترف بها في قسم [nfsd]: TCP وUDP وvers3 وvers4، ولكل منها نفس المعنى المقدم بواسطة rpc.nfsd(8).
دعم TCP_WRAPPERS¶
يمكنك حماية مستمعي rpc.mountd باستخدام مكتبة tcp_wrapper أو iptables(8).
لاحظ أن مكتبة tcp_wrapper تدعم شبكات IPv4 فقط.
أضف أسماء المضيفين لأقران NFS المسموح لهم بالوصول إلى rpc.mountd إلى /etc/hosts.allow. استخدم اسم الخفي mountd حتى لو كان الملف الثنائي rpc.mountd له اسم مختلف.
سيتم تجاهل أسماء المضيفين المستخدمة في أي من ملفي الوصول عندما لا يمكن حلها إلى عناوين IP. لمزيد من المعلومات، راجع صفحات الدليل tcpd(8) وhosts_access(5).
دعم IPv6 و TI-RPC¶
TI-RPC هو شرط أساسي لدعم NFS على IPv6. إذا تم تضمين دعم TI-RPC في rpc.mountd، فإنه يحاول بدء المستمعين على وسائط النقل الشبكية الموسومة بـ 'visible' في /etc/netconfig. طالما بدأ مستمع نقل شبكي واحد على الأقل بنجاح، سيعمل rpc.mountd.
الملفات¶
- /etc/exports
- ملف الإدخال لـ exportfs، يسرد الصادرات وخيارات التصدير وقوائم التحكم في الوصول
- /var/lib/nfs/rmtab
- جدول العملاء الذين يصلون إلى صادرات الخادوم
انظر أيضًا¶
exportfs(8), exports(5), showmount(8), rpc.nfsd(8), rpc.rquotad(8), nfs(5), nfs.conf(5), tcpd(8), hosts_access(5), iptables(8), netconfig(5)
RFC 1094 - "NFS:
مواصفات
بروتوكول
نظام ملفات
الشبكة"
RFC 1813 - "NFS الإصدار
3 مواصفات
البروتوكول"
RFC 7530 -
"بروتوكول
نظام
الملفات
الشبكي (NFS)
الإصدار 4"
RFC 8881 -
"بروتوكول
نظام
الملفات
الشبكي (NFS)
الإصدار 4
الإصدار
الفرعي 1"
المؤلف¶
Olaf Kirch وH. J. Lu وG. Allan Morris III وآخرون كثيرون.
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 31 ديسمبر 2009 |