/etc/exports
،المجلدات التي سيوفرها على الشبكة (المجلدات المُصدّرة exported). بالنسبة لكل مشاركة NFS، تمنح صلاحيات الوصول فقط للأجهزة المذكورة بجوارها. يمكن التحكم بالوصول بدقة أكبر باستخدام بضعة خيارات. صيغة الملف بسيطة جداً:
/directory/to/share machine1(option1,option2,...) machine2(...) ...
fsid=0
أو الخيار fsid=root
.
*.falcot.com
أو مجال من عناوين IP مثل 192.168.0.0/255.255.255.0
أو 192.168.0.0/24
.
ro
). يمنح الخيار rw
صلاحيات القراءة والكتابة. يتصل عملاء NFS نموذجياً من منفذ مخصص للمستخدم الجذر (أي أنه أقل من 1024)؛ يمكن رفع هذا القيد باستخدام الخيار insecure
(الخيار secure
ضمني، لكن يمكن كتابته صراحة للتوضيح إذا اقتضت الحاجة).
sync
)؛ لكن يمكن تعطيل هذا بالخيار async
. تزيد عمليات الكتابة غير المتزامنة الأداء قليلاً، لكنها تخفض الموثوقية بسبب احتمال خسارة البيانات إذا انهار المخدم في الفترة ما بين إرسال تأكيد الكتابة وبين إنهاء الكتابة الفعلية على القرص. بما أن القيمة الافتراضية تغيرت مؤخراً (مقارنة بالقيمة التاريخية في NFS)، يُفضّل استخدام خيار صريح.
nobody
، وذلك في سبيل عدم منح صلاحيات الجذر على نظام الملفات لأي عميل NFS. هذا السلوك يوافق الخيار root_squash
، وهو مُفعّل افتراضياً. أما الخيار no_root_squash
، الذي يُعطّل هذا السلوك، فهو خطر ويجب استخدامه فقط في البيئات المسيطر عليها. يسمح الخياران anonuid=uid
وanongid=gid
بتحديد مستخدم زائف آخر لاستخدامه بدلاً من UID/GID 65534 (التي توافق المستخدم nobody
والمجموعة nogroup
).
sec
لتحديد مستوى الحماية الذي تريد: sec=sys
هو الافتراضي وليس له خصائص أمنية مميزة، أما المستوى sec=krb5
فيفعل المصادقة فقط، والمستوى sec=krb5i
يضيف التحقق من سلامة المعلومات المنقولة، والمستوى sec=krb5p
هو أكمل المستويات حيث يتضمن حماية الخصوصية (عبر تشفير البيانات). سوف تحتاج لإعداد Kerberos حتى تعمل هذه المستويات (هذه الخدمة غير مشروحة في هذا الكتاب).
mount
والملف /etc/fstab
.
مثال 11.22. الربط اليدوي باستخدام الأمر mount
#
mount -t nfs4 -o rw,nosuid arrakis.internal.falcot.com:/shared /srv/shared
مثال 11.23. مدخلة NFS في الملف /etc/fstab
arrakis.internal.falcot.com:/shared /srv/shared nfs4 rw,nosuid 0 0
/shared/
من المخدم arrakis
مع المجلد المحلي /srv/shared/
عند إقلاع النظام. صلاحيات الكتابة والقراءة مطلوبة (ولذلك استخدم الخيار rw
). أما الخيار nosuid
فهو للحماية حيث يزيل بتات setuid
أو setgid
من البرامج المخزّنة على المشاركة. إذا كان القصد من مشاركة NFS تخزين المستندات فقط، فهناك خيار آخر ننصح به هو noexec
، الذي يمنع تنفيذ البرامج المُخزَّنة على المشاركة. لاحظ أن المجلد shared
على المخدم يقع تحت جذر التصدير في NFSv4 (مثلاً /export/shared
)، وليس مجلداً من المستوى الأعلى.