ไฟล์ที่เมาท์ผ่าน NFSv4 เป็นเจ้าของโดย 4294967294, UID และ GID ที่ตรงกัน


23

ฉันมีเครื่องลินุกซ์ที่เหมือนกันสองเครื่อง (อิมเมจที่เหมือนกันซึ่งเปิดตัวใน amazon EC2) และฉันพยายามเมานต์ไดเร็กทอรีที่เอ็กซ์พอร์ตผ่าน NFSv4 นี่คือลักษณะของไดเร็กทอรีที่เมาท์บนเครื่องไคลเอ็นต์:

root@server:~# ls -l /websites/
drwxr-xr-x  6 4294967294 4294967294   92 2010-01-01 20:21 logs
drwxr-xr-x  2 4294967294 4294967294   20 2009-12-23 01:14 monit.d
...

ฉันตรวจสอบสองครั้งเพื่อให้แน่ใจว่า UID นั้นตรงกัน

นี่คือคำสั่ง mount ที่ฉันเรียกใช้จากไคลเอนต์

/sbin/mount.nfs4 $MASTER_DN:/ /websites -o rw,_netdev,async

และนี่คือ/etc/exportsรายการบนเครื่องเซิร์ฟเวอร์:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)

บริการ rpcidmapd กำลังทำงานอยู่? เริ่มต้นพวกเขาโดยใช้คำสั่ง /etc/init.d/rpcidmapd รีสตาร์ท chkconfig rpcidmapd บน

คำตอบ:


8

ตามที่อธิบายในUID / GID ด้วย NFS และ ZFSแล้ว NFSv4 ไม่ได้ใช้UID ฉันมีปัญหาที่คล้ายกันและสามารถแก้ไขได้โดยใช้ NFSv3 นี่เพิ่งสร้างความหมาย-o vers=3ให้กับmountคำสั่ง แน่นอนถ้าคุณจำเป็นต้องใช้ NFSv4 การตอบสนองนี้จะไม่เป็นประโยชน์กับคุณมากนัก


7

อ่านที่นี่http://blather.michaelwlucas.com/archives/796

หากชื่อโดเมนของไคลเอนต์และเซิร์ฟเวอร์ NFSv4 ไม่ตรงกันชื่อผู้ใช้ทั้งหมดจะปรากฏเป็น“ ไม่มีใคร”

  1. แก้ไข /etc/idmapd.conf และตั้งค่าโดเมนบนเซิร์ฟเวอร์และไคลเอนต์เป็น "localdomain"

    [ทั่วไป]

    โดเมน = localdomain

    [แปล]

    วิธีการ = nsswitch

  2. เปลี่ยนไฟล์ / etc / default / nfs-common (ทั้งเซิร์ฟเวอร์และไคลเอนต์ของคุณ): set NEED_IDMAPD = ใช่

  3. เริ่มบริการ idmapd


สำหรับฉันคำตอบนี้แก้ไขปัญหาที่ฉันมี (หลังจาก "idmapd" ล้มเหลวเพราะเกิดอะไรขึ้นบ้าง)
Henk

7

นี่เป็นปัญหาการจับคู่รหัสผู้ใช้ ด้วยเหตุผลบางอย่างระบบกำลังใช้บัญชี "ไม่มีใคร" แทนรหัสบัญชีจริง ตรวจสอบตัวเลือกการแบนและไฟล์ idmapd.conf ของคุณ

นี่คือหัวข้อที่ผมพบว่าที่กล่าวถึงปัญหาการเชื่อมโยงนี้เพื่อโพสต์ที่น่าสนใจhttp://www.mail-archive.com/rhelv5-list@redhat.com/msg03303.html

FYI, 4294967294 คือ -2 หากถือว่าเป็นจำนวนเต็มแบบ 32 บิต -1 หรือ -2 ถูกใช้บน Linux distros ต่างๆสำหรับ none UID และ nogroup GID (ในไฟล์ passwd หมายเลข 16 บิตที่ไม่ได้ลงชื่อสูงสุดคือ 65535 โดยทั่วไปจะใช้)


ขอบคุณสำหรับการตอบสนองเดวิด ต่อโพสต์ของฉันฉันได้no_root_squashเปิดใช้งาน คุณมีข้อมูลเพิ่มเติมเกี่ยวกับไฟล์ idmapd.conf หรือไม่
jberryman

3

คุณจำเป็นต้องเปลี่ยน ฯลฯ NFS ทั่วไปไฟล์ / / default / (บนทั้งเซิร์ฟเวอร์และไคลเอ็นต์ของคุณ): ชุดไปNEED_IDMAPDyes

อย่างน้อยก็ช่วยฉันด้วย


2

เรากำลังใช้ตัวเลือก NFS anonuidและanongidเพื่อตั้งค่า ID ผู้ใช้ / กลุ่มเซิร์ฟเวอร์จะใช้สำหรับไฟล์ที่สร้างโดยไม่ระบุชื่อ หากไม่มีการตั้งค่าเหล่านี้จะไม่มีการใช้ "none" และ "nogroup" ซึ่งอาจแตกต่างกันไปขึ้นอยู่กับเวอร์ชั่นของระบบปฏิบัติการและการจัดจำหน่าย ดังนั้น

/websites 10.0.0.0/8 
    (fsid=0,no_subtree_check,rw,no_root_squash,anonuid=1001,anongid=1001)
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

อาจเป็นการหลอกลวง (โดยที่ 1001 เป็น UID / GID ที่ถูกต้องและใช้งานได้บนเซิร์ฟเวอร์ของคุณ)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.