
Windows เวอร์ชันใหม่มีไคลเอนต์ NFS ในตัว คุณลักษณะ Windows นี้ช่วยให้สามารถติดตั้งไดเรกทอรี NFS ได้โดยตรงจากโฮสต์ Linux หรืออุปกรณ์ NAS โดยให้การเข้าถึงไฟล์และโฟลเดอร์บนโวลุ่ม NFS จาก Windows File Explorer อย่างโปร่งใส คล้ายกับการเข้าถึงไดรฟ์ที่แมป SMB คู่มือนี้จะอธิบายวิธีเปิดใช้งานไคลเอนต์ NFS ใน Windows ติดตั้งโวลุ่มเครือข่าย NFS และจัดการการแมปผู้ใช้ Windows กับ Linux UID/GID
วิธีเปิดใช้งานไคลเอนต์ NFS บน Windows
มีไคลเอ็นต์ NFS ในตัวพร้อมใช้งานใน Windows ทุกรุ่นโดยเริ่มตั้งแต่ Windows 10 ช่วยให้ผู้ใช้สามารถเมานต์ไดรฟ์ข้อมูลเครือข่าย NFS ได้โดยตรง ตามค่าเริ่มต้น ไคลเอ็นต์ NFS จะไม่ถูกติดตั้ง คุณสามารถเปิดใช้งานได้ผ่านแผงควบคุมคุณลักษณะของ Windows: เรียกใช้คำสั่ง ( optionfeatures.exe ขยายบริการสำหรับ NFS และเปิดใช้งานไคลเอนต์สำหรับ NFS รวมถึงเครื่องมือการจัดการ

หรือคุณสามารถเปิดใช้งานคุณลักษณะเสริมของไคลเอนต์ NFS โดยใช้ PowerShell
บนระบบปฏิบัติการเดสก์ท็อป (Windows 10 และ 11):
เปิดใช้งาน WindowsOptionalFeature-FeatureName ServicesForNFS-ClientOnly, ClientForNFS-โครงสร้างพื้นฐาน-ออนไลน์-NoRestart
บนเซิร์ฟเวอร์ Windows:
ติดตั้ง-WindowsFeature NFS-ไคลเอนต์

แสดงรายการการตั้งค่าไคลเอ็นต์ NFS ที่มีอยู่ใน Windows:
รับ-NfsClientConfiguration

เมานต์ NFS Share บน Windows โดยใช้ File Explorer, PowerShell หรือ CMD
การติดตั้งไดรฟ์ข้อมูลเครือข่าย NFS ใน Windows สามารถทำได้ผ่านอินเทอร์เฟซกราฟิก Windows Explorer ซึ่งคล้ายกับการแมปโฟลเดอร์เครือข่ายที่ใช้ร่วมกันมาตรฐาน (แชร์ SMB) เลือกตัวเลือกแมปไดรฟ์เครือข่ายใน File Explorer ระบุเส้นทางเครือข่ายไปยังการแชร์ NFS (ใช้รูปแบบ UNC เช่น \\192.168.123.123\nfsshare ) และระบุอักษรไดรเวอร์ที่จะกำหนด

อย่างไรก็ตาม ในโหมดนี้ ไม่สามารถตั้งค่าตัวเลือกเพิ่มเติมสำหรับการติดตั้งการแบ่งใช้ NFS ได้
สะดวกกว่าในการติดตั้งการแชร์ NFS จากพรอมต์คำสั่งโดยใช้:
mount.exeคำสั่งคอนโซลPSdrive ใหม่PowerShell cmdlet
เม้าท์.exe ) เนื่องจากใน PowerShell ไฟล์
เมานต์
command เป็นนามแฝงสำหรับ
ใหม่-PSDrive
cmdlet.
เมื่อดำเนินการคำสั่ง mount จากพรอมต์ PowerShell หรือเทอร์มินัล Windows ตรวจสอบให้แน่ใจว่าคุณได้ระบุชื่อพร้อมกับนามสกุล (เช่น) เนื่องจากใน PowerShell คำสั่งเป็นนามแฝงสำหรับ cmdlet

เปิดพรอมต์คำสั่ง (หรือคอนโซล PowerShell) ในฐานะผู้ใช้ปัจจุบัน อย่าเรียกใช้ในฐานะผู้ดูแลระบบ มิฉะนั้น ไดรฟ์ NFS ที่ติดตั้งจะไม่ปรากฏใน File Explorer ของผู้ใช้ (ดูโพสต์ “การเข้าถึงไดรฟ์ที่แมปเครือข่ายด้วยสิทธิ์ของผู้ดูแลระบบ” สำหรับรายละเอียดเพิ่มเติม)
รันคำสั่งต่อไปนี้เพื่อเมาต์การแชร์ NFS:
mount.exe-o และ \\192.168.123.123\nfsshare N:

-o anon– ติดตั้งโฟลเดอร์ NFS โดยใช้ผู้ใช้ที่ไม่ระบุชื่อ192.168.123.123- ชื่อ DNS หรือที่อยู่ IP ของเซิร์ฟเวอร์ NFS/nfsshare– พาธในเครื่องไปยังไดเร็กทอรีบนเซิร์ฟเวอร์ NFS หากใช้โฮสต์ Linux ที่มี NFSv3 เป็นเซิร์ฟเวอร์ NFS ให้ระบุพาธโลคัลแบบเต็มไปยังไดเร็กทอรี NFS จากรูทของระบบไฟล์ ตัวอย่างเช่น:srv01:/mnt/nfs/publicN:– อักษรระบุไดรฟ์ที่คุณต้องการกำหนดให้กับโฟลเดอร์ที่แมป
เพื่อปรับปรุงความเข้ากันได้กับ Linux ซึ่งใช้ชื่อไฟล์และไดเร็กทอรีที่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ ซึ่งแตกต่างจาก Windows ให้เพิ่มตัวเลือก caseensitive=yes
หรือใช้ PowerShell ที่เทียบเท่ากับคำสั่งการเมานต์ NFS:
ใหม่-PSdrive-PSProvider FileSystem-Name N-Root \\192.168.123.123\nfsshare-Persist

ใช้ตัวเลือก Persist เพื่อให้แน่ใจว่าการเชื่อมต่อไดเรกทอรี NFS จะกู้คืนโดยอัตโนมัติหลังจากรีบูตคอมพิวเตอร์ (คำสั่ง mount.exe ไม่มีตัวเลือกนี้)
โปรดทราบว่า Explorer จะแสดงแท็บใหม่ NFS Attributes ในคุณสมบัติของอ็อบเจ็กต์ในโฟลเดอร์ NFS คุณจะพบข้อมูลเกี่ยวกับสิทธิ์และเจ้าของไฟล์ได้จากที่นั่น

โปรดทราบว่าไฟล์บนเครือข่าย NFS แชร์กับอักษรซีริลลิก เอเชีย ยุโรปตะวันตก หรืออักขระที่ไม่ใช่ละตินอื่นๆ อาจไม่แสดงเลยหรืออาจปรากฏเป็นข้อความที่อ่านไม่ออก (mojibake) เนื่องจากไคลเอนต์ Microsoft NFS ในตัวมีค่าเริ่มต้นให้ใช้เพจรหัส ANSI ดั้งเดิมแทนที่จะเป็น Unicode สำหรับการแปลชื่อไฟล์ วิธีแก้ปัญหาชั่วคราว คุณสามารถเปิดใช้งานการรองรับ UTF-8 ใน Windows (ซึ่งยังอยู่ในช่วงเบต้า): เปิด intl.cpl-> การดูแลระบบ-> เปลี่ยนภาษาของระบบ-> ตรวจสอบตัวเลือก “ เบต้า: ใช้ Unicode UTF-8 สำหรับการรองรับภาษาทั่วโลก “

ยกเลิกการต่อเชื่อมการแชร์เครือข่าย NFS:
ลบ-PSDrive N
หรือ
umount.exe M:\
รันคำสั่ง mount.exe เพื่อแสดงตัวเลือกที่ติดตั้งไดเร็กทอรี NFS

เมื่อเชื่อมต่อโดยไม่ระบุชื่อกับเซิร์ฟเวอร์ NFS Windows จะใช้ UID=-2 และ GID=-2 ตามค่าเริ่มต้นเพื่อแมปผู้ใช้ปัจจุบันกับผู้ใช้บนเซิร์ฟเวอร์ NFS หากคุณต้องการใช้ Linux UID (ID ผู้ใช้) และ GID (ID กลุ่ม) เฉพาะสำหรับการติดตั้งไดรฟ์ข้อมูล NFS โดยไม่ระบุชื่อ คุณสามารถแทนที่ค่าเหล่านี้ได้ในพารามิเตอร์ AnonymousUid และ AnonymousGid ของคีย์รีจิสทรี HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
ตัวอย่างเช่น ตัวเลือกต่อไปนี้จะบังคับให้ไคลเอ็นต์ NFS ใช้ UID=0 และ GID=0 (ผู้ใช้ Linux root) สำหรับการเชื่อมต่อแบบไม่ระบุชื่อแทนค่าเริ่มต้น -2
` reg เพิ่ม “HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default”/v AnonymousUid/t REG_DWORD/d 00000000/f
reg เพิ่ม “HKLM\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default”/v AnonymousGid/t REG_DWORD/d 00000000/f `

หลังจากทำการเปลี่ยนแปลง ให้รีสตาร์ทเซอร์วิส NFS:
รีสตาร์ทบริการ nfsrdr, nfsclnt-Force
กำหนดค่าการแมปไคลเอ็นต์ NFS ของผู้ใช้ Windows กับผู้ใช้/กลุ่ม Linux
อย่างไรก็ตาม การเข้าถึง NFS โดยไม่ระบุชื่อไม่ปลอดภัย เป็นการดีกว่าที่จะกำหนดค่าการแมปผู้ใช้ Windows กับ UID และ GID ของผู้ใช้ Linux
หากต้องการเปิดใช้งานการแมปผู้ใช้ในโดเมน AD:
` ตั้งค่า NfsMappingStore-EnableADLookup $true
ชุด-NfsMappedIdentity-MappingStore AD-ชื่อผู้ใช้ “j.smith”-UserIdentifier 1,000-GroupIdentifier 100 `
ค่าพารามิเตอร์ uidnumber และ gidnumber ในหรือแก้ไขค่าและพารามิเตอร์ในแอตทริบิวต์ผู้ใช้ AD
ชุด-ADUser-identity j.smith-replace @{uidNumber="";gidNumber=""}
คุณสามารถรับ UID และ GID ของผู้ใช้ใน Linux ได้โดยใช้คำสั่ง:
` $ ชื่อผู้ใช้ '
บนเครื่องสแตนด์อโลน (ในกลุ่มงาน หรือเมื่อคุณไม่ต้องการใช้การแมป AD) คุณสามารถกำหนดค่าชื่อผู้ใช้ Windows กับการแมป Unix UID/GID ผ่านไฟล์ passwd และกลุ่มในไดเร็กทอรี C:\Windows\System32\drivers\etc
ตัวอย่างเช่น สำหรับผู้ใช้ภายในเครื่อง maxadm1:
เพิ่มลงในไฟล์ passwd:
user1:x:1000:100:maxadm1:C:\Users\maxadm1
กลุ่มไฟล์:
users:x:100:maxadm1
หากต้องการตรวจสอบการแมปของผู้ใช้ Windows เฉพาะกับ Linux UID/GID ให้ใช้คำสั่งต่อไปนี้:
รับ-NfsMappedIdentity-ชื่อบัญชี ผู้ใช้ 1-ผู้ใช้ประเภทบัญชี

สามารถติดตั้งบริการเซิร์ฟเวอร์ NFS บนแพลตฟอร์ม Windows Server เพื่อจุดประสงค์นี้ จึงมีคุณสมบัติบทบาทเซิร์ฟเวอร์ไฟล์ในตัวแยกต่างหาก
*️⃣ ลิงค์ที่มา:
ติดตั้ง WindowsFeature, การเข้าถึงไดรฟ์ที่แมปเครือข่ายด้วยสิทธิ์ผู้ดูแลระบบ, , , คุณลักษณะผู้ใช้ AD, ชุด ADUser,