ฉันมีเซิร์ฟเวอร์ RHEL 6 สองตัว เซิร์ฟเวอร์หนึ่งเป็นเซิร์ฟเวอร์ NFS (เราจะเรียกว่า เซิร์ฟเวอร์ nfsพูดว่า IP ของมันคือ 10.1.1.1) และอีกอันคือไคลเอนต์ทั่วไปสำหรับจุดประสงค์และจุดประสงค์ทั้งหมด (เราจะเรียกมันว่า nfs-ไคลเอนต์พูดว่า IP ของมันคือ 10.0.0.1).
ทั้งคู่ เซิร์ฟเวอร์ nfs และ nfs-ไคลเอนต์ เชื่อมต่อกับระบบการยืนยันตัวตนแบบรวมศูนย์เดียวกัน ดังนั้น UID/GID จึงเหมือนกันสำหรับผู้ใช้แต่ละราย
nfs-ไคลเอนต์ กำลังเมานต์การแชร์ NFSv3 จาก เซิร์ฟเวอร์ nfs:/shared_folder/cache ถึง /shared_folder/แคช.
เดอะ /shared_folder เปิดไดเร็กทอรี เซิร์ฟเวอร์ nfs อยู่ในโหมด 755, ที่เป็นเจ้าของโดย ราก:ราก, และ /shared_folder/แคช ไดเร็กทอรีอยู่ในโหมด 2775, ที่เป็นเจ้าของโดย แคช:แคช (UID=20014, GID=20004).
ฉันมีกลุ่มผู้ใช้ที่เป็นสมาชิกทั้งหมดของ แคช กลุ่มใน LDAP แต่ไม่สามารถสร้างหรือลบสิ่งใดใน /shared_folder/แคช ไดเร็กทอรีเปิดอยู่ nfs-ไคลเอนต์. อย่างไรก็ตาม:
- หากมีไฟล์อยู่แล้วใน
/shared_folder/แคช ที่มีสิทธิ์ถูกต้อง (เขียนตามกลุ่ม แคช) ผู้ใช้สามารถแก้ไขไฟล์ได้ แต่ไม่สามารถลบได้ (เช่น if /shared_folder/cache/testfile มีอยู่และเขียนได้โดย แคช กลุ่มผู้ใช้สามารถแก้ไขเนื้อหาของไฟล์ได้ แต่ไม่สามารถลบได้)
- หากมีไดเร็กทอรีย่อยอยู่แล้วใน
/shared_folder/แคช ที่มีสิทธิ์ถูกต้อง (mode 2775, ที่เป็นเจ้าของโดย แคช:แคช) ผู้ใช้สามารถแก้ไขไดเร็กทอรีได้ตามปกติ (เช่น if /shared_folder/cache/testdir/ อยู่ในโหมด 2775 และเป็นเจ้าของโดย แคช กลุ่มผู้ใช้สามารถเพิ่ม/แก้ไข/ลบไฟล์และไดเร็กทอรีได้ ผู้ทดสอบแต่ลบไม่ได้ ผู้ทดสอบ เอง)
- หากฉันเข้าสู่ระบบเป็นหนึ่งในผู้ใช้บน
เซิร์ฟเวอร์ nfsทันใดนั้นฉันก็สามารถสร้าง/แก้ไข/ลบไฟล์และไดเร็กทอรีได้ตามปกติภายใน /shared_folder/แคช
ฉันจะแก้ไขการเมานต์ NFS นี้ได้อย่างไร ข้อมูลการวินิจฉัยอยู่ด้านล่างกฎแนวนอน
ผลลัพธ์ของ ไอดีผู้ใช้1 ทั้ง เซิร์ฟเวอร์ nfs และ nfs-ไคลเอนต์ แสดง:
uid=8173(<ชื่อผู้ใช้>) gid=8173(<ชื่อผู้ใช้>) groups=20004(แคช)
เซิร์ฟเวอร์ nfs มีการกำหนดค่าการส่งออกต่อไปนี้ใน /etc/export:
"/shared_folder/cache" <nfs-client-IP>(rw)
ผลลัพธ์ของ exportfs -v บน เซิร์ฟเวอร์ nfs แสดง:
/shared_folder/แคช
<nfs-client-IP>(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,root_squash,no_all_squash)