การแชร์ไฟล์ในเครื่องเรากับเครื่องอื่นๆเป็นเรื่องปรกติของการใช้งานในลักษณะเครือข่าย เราสามารถใช้บริการ (services) nfs ที่ลินุกซ์มีมาให้ในการแชร์ข้อมูลหรือไฟล์ (nfs ย่อมาจาก network file service) การเรียกใช้บริการ nfs ทำโดยใช้คำสั่ง “ sudo systemctl start nfs ” (ต้องใช้สิทธิ root จึงใช้คำสั่ง sudo ด้วย) เราสามารถกำหนดในไฟล์ /etc/exports ได้ว่าจะแชร์ไดเร็คทอรี่ใด จะให้เครื่องคอมพิวเตอร์จากที่ไหนเข้ามาใช้งานได้ และได้สิทธิการใช้งานแบบใด โดยมีรูปแบบของการกำหนดเงื่อนไขในแต่ละบรรทัดในไฟล์ดังนี้
<ไดเร็คทอรี่ที่ต้องการแชร์> <เครือข่ายหรือเครื่องใดสามารถใช้งานได้บ้าง>(สิทธิการใช้งาน)
เช่น /projects *.example.com(rw) เป็นการแชร์ไดเร็คทอรี่ /projects ให้ทุกเครื่องในโดเมน example.com สามารถใช้งานได้ และ (rw) คือ ยอมให้อ่านและเขียนได้ โดยสิทธิการใช้งานทั้งหมดประกอบด้วย r-read, w-write และ e-execute
หลังจากแก้ไขแล้วเราอัพเดทระบบด้วยคำสั่ง exportfs -av เพื่อให้ระบบรับทราบว่ามีการแชร์ไฟล์ หากเราต้องการให้บริการ nfs ทำงานทุกครั้งที่เปิดเครื่องให้ใช้คำสั่ง sudo systemctl enable nfs
ภาพแสดงตัวอย่างเงื่อนไขในไฟล์ exports
เครื่องที่แชร์ไฟล์เราเรียกว่าเป็น nfs server สำหรับเครื่องที่ต้องการใช้งานไฟล์ของเราจะเรียกว่า nfs client เครื่อง nfs client สามารถเชื่อมต่อมายังแชร์ไดเร็คทอรี่ของเราได้โดยใช้คำสั่ง
sudo mount servername:/projects /mnt/nfs/projects
หรือหากต้องการให้เชื่อมต่ออัตโนมัติทุกครั้งที่เปิดเครื่องให้กำหนด configuration ไว้ใน /etc/fstab ดังนี้
servername:/projects /mnt/nfs/projects nfs defaults 0 0
ภาพแสดงตัวอย่างเงื่อนไขในไฟล์ fstab