Score:4

ผู้ใช้ไม่สามารถสร้างไฟล์/ไดเร็กทอรีบน NFSv3 mount แต่สามารถแก้ไขได้

ธง pr

ฉันมีเซิร์ฟเวอร์ 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)
PatrickTaylor avatar
it flag
ด้วยความอยากรู้อยากเห็น แคช USER (uid 20014) สามารถสร้างและลบไฟล์ภายใต้ /shared-folder/cache จากไคลเอนต์ nfs ได้หรือไม่
rst-2cv avatar
pr flag
ใช่มันสามารถ @PatrickTaylor
Score:1
ธง my

การลบไฟล์ต้องมีสิทธิ์เขียนในไดเร็กทอรี

คุณได้ตั้งค่าอย่างถูกต้อง แถว ในตัวเลือกการเมานต์ แต่ดูเหมือนว่ามีบางอย่างผิดปกติในฝั่ง NFS (เนื่องจากคุณสามารถลบไฟล์ได้โดยการเข้าสู่ระบบในเซิร์ฟเวอร์)

บางสิ่งที่ฉันจะทำ:

  • ตรวจสอบ umask เริ่มต้น

  • ตรวจสอบสิทธิ์ในไฟล์โดยใช้ ศีลและ getfacl.

  • ตรวจสอบให้แน่ใจว่าไม่มีใครเข้าถึงไฟล์นั้นในขณะที่คุณพยายามลบ (ลซ).

  • หาก SELinux อยู่ในโหมดบังคับใช้ ให้ตรวจสอบบันทึกการตรวจสอบ (แนะนำให้ใช้ ตรวจสอบ2ทำไม).

  • ลองเพิ่มตัวเลือกเมานต์การซิงค์

วิธีแก้ไขปัญหาสุดท้าย ให้ลบและสร้างผู้ใช้และกลุ่มอีกครั้งบนเซิร์ฟเวอร์ และรีสตาร์ทเซิร์ฟเวอร์ NFS

rst-2cv avatar
pr flag
ขอบคุณสำหรับการตอบกลับ. Umask นั้นใช้ได้ (`0002` และ `0022` สำหรับผู้ใช้ที่เกี่ยวข้องทั้งหมด) ไม่มีการตั้งค่า FACL ที่ใดก็ได้ในโครงสร้างไดเร็กทอรี lsattr ไม่เปิดเผยสิ่งผิดปกติ SELinux ถูกปิดใช้งาน (ไม่ใช่ตัวเลือกของฉัน แต่อย่างน้อยเราก็รู้ว่านั่นไม่ใช่ แหล่งที่มาของปัญหา) และการเพิ่มตัวเลือกการเมานต์การซิงค์ไม่ทำงาน ฉันไม่สามารถลบและสร้างผู้ใช้ใหม่ได้ เนื่องจากพวกเขาเป็นผู้ใช้/กลุ่ม LDAP ทั้งหมด ซึ่งผู้ใช้ทั่วทั้งสภาพแวดล้อมใช้
A. Darwin avatar
my flag
@rst-2cv แล้ว lsof ล่ะ? ไฟล์ที่คุณพยายามลบถูกล็อกโดยสิ่งอื่นหรือไม่
rst-2cv avatar
pr flag
แย่จัง ฉันพลาดอันนั้นไป (แต่น่าเสียดายที่ไม่ได้.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา