บันทึกนี้ปรับปรุงล่าสุดเมื่อวันที่ 5-07-60
ดูแลโดย วิบูลย์
สมมติ
nfs server มี IP 10.168.10.223
nfs client มี IP 10.168.10.224
ขั้นตอนที่ nfs server
1. ติดตั้งโปรแกรม
sudo apt-get install nfs-kernel-server
2. สร้างไดเรกทอรี ที่จะเป็นพื้นที่ให้เครื่องอื่น ๆ มาใช้ไฟล์ร่วมกัน เช่น /nfsdisk และมีโฟลเดอร์สำหรับ app1 เป็นต้น
sudo mkdir -p /nfsdisk/app1 sudo chmod 777 /nfsdisk/app1
3. สำรองไฟล์เผื่อทำพลาด
sudo cp -a /etc/exports /etc/exports.backup
4. พิมพ์คำสั่งนี้เพื่อเพิ่มบรรทัดข้อความลงไปในไฟล์ /etc/exports แทนการแก้ไขไฟล์ด้วยเอดิเตอร์ ดังนี้
สมมติว่า อนุญาต net 10.168.10.0/24
echo '/nfsdisk/app1 10.168.10.0/24(rw,async,insecure,no_subtree_check,nohide)' | sudo tee -a /etc/exports
หรือจะทำแบบใช้เอดิเตอร์แก้ไขในไฟล์ /etc/exports (ตัวอย่างใช้ editor ชื่อ vi หรือเลือกใช้ nano ก็ได้)
sudo vi /etc/exports
โดยเพิ่มบรรทัดนี้ (โปรดเลียนแบบ ห้าม copy เหมือน และตัวอย่างนี้อนุญาต net 10.168.10.0/24)
/nfsdisk/app1 10.168.10.0/24(rw,async,insecure,no_subtree_check,nohide)
5. สั่งทำงานบรรทัดข้างล่างนี้หลังจากแก้ไขไฟล์ exports
sudo exportfs -ra sudo service nfs-kernel-server restart
ต่อไปเป็นขั้นตอนทำที่ client ที่จะเชื่อมต่อเข้ามา
6. ติดตั้งโปรแกรม
sudo apt install nfs-common
7. สร้างไดเรกทอรี
sudo mkdir -p /shareapp1
8. ทดสอบการเชื่อมต่อกับ nfs server หากทำสำเร็จ จากนี้ก็ไปทำให้มันเชื่อมต่ออย่างถาวรในข้อต่อไป
sudo mount -t nfs -o proto=tcp,port=2049 10.168.10.223:/nfsdisk/app1 /shareapp1
ตรวจสอบ
mount -l | grep nfs
ถ้าใช้คำสั่ง ls ดูรายชื่อไฟล์ ก็จะเห็นว่าสามารถเข้าถึงไดเรกทอรีนี้ได้แล้ว
ls -l /shareapp1
ทดสอบสร้างไฟล์ test.txt
echo "test test" > /shareapp1/test.txt
9. ใส่ข้อมูลในไฟล์ fstab เพื่อให้เมื่อเปิดเครื่องแล้วไปเชื่อมต่อกับ nfs server ด้วย
สำรองไฟล์เผื่อทำพลาด
sudo cp -a /etc/fstab /etc/fstab.backup
10. พิมพ์คำสั่งนี้เพื่อเพิ่มบรรทัดข้อความลงไปในไฟล์ /etc/fstab แทนการแก้ไขไฟล์ด้วยเอดิเตอร์ ดังนี้
สมมติว่า nfs server IP คือ 10.168.10.223
echo '10.168.10.223:/nfsdisk/app1 /shareapp1 nfs defaults 0 0' | sudo tee -a /etc/fstab
หรือจะทำแบบใช้เอดิเตอร์แก้ไขในไฟล์ /etc/fstab (ตัวอย่างใช้ editor ชื่อ vi หรือเลือกใช้ nano ก็ได้)
sudo vi /etc/fstab
โดยเพิ่มบรรทัดนี้ (โปรดเลียนแบบ ห้าม copy เหมือน และตัวอย่างนี้ได้รับอนุญาตจาก 10.168.10.223)
10.168.10.223:/nfsdisk/app1 /shareapp1 nfs defaults 0 0
Reference: อ่านเรื่อง security ที่ควรทำ http://fullyautolinux.blogspot.com/2015/11/nfs-norootsquash-and-suid-basic-nfs.html