ฉันมีการตั้งค่าการแชร์ NFS อย่างง่ายบน CentOS 7 เพื่อให้ Mac ของฉันสามารถจัดการไฟล์ในไดเร็กทอรี /var/www/html:

/var/www/html 192.168.1.107(all_squash,anonuid=1000,anongid=1001,rw,ซิงค์)

ไฟล์และไดเร็กทอรีถูกสร้างขึ้นด้วย UID และ GID ที่ถูกต้อง แต่มี umask ผิด:

-rw-r--r-- 1 1000 1001 41 Jul  1 15:05 index.html
drwxr-xr-x 2 1000 1001  6 Jul  1 15:04 test_dir

ฉันต้องการสิทธิ์เป็น 664 และ 775 ตามลำดับ

ฉันได้ตั้งค่า umask สำหรับผู้ใช้ (GID 1000) เป็น "umask 000" สำหรับการทดสอบใน .bashrc

เมื่อฉันเข้าสู่ระบบในฐานะผู้ใช้รายนั้นและแตะไฟล์ในไดเร็กทอรีนั้น ฉันจะได้รับสิทธิ์ 666 ครั้ง

นี่คือคำสั่งเมานต์ที่ฉันใช้บน Mac:

sudo mount -t nfs -o resvport,rw,vers=4 www:/var/www/html /mnt/www

(www เป็นชื่อของเซิร์ฟเวอร์ CentOS)

ฉันได้ปิดการใช้งาน SELinux บนเซิร์ฟเวอร์นี้โดยสมบูรณ์ และยืนยันว่าไม่ได้เปิดใช้งาน

answer

ปรากฎว่าปัญหาคือการตั้งค่า umask บนเครื่อง Mac ถ้าฉันอัปเดต umask ก่อนที่ฉันจะคัดลอกไฟล์ไปยังโวลุ่ม NFS ไฟล์จะจบลงด้วยการอนุญาตที่ถูกต้อง