การกำหนด user ในการ upload files ผ่าน sftp บน NFS server สามารถทำได้โดยทำตามขั้นตอนดังนี้
- กำหนดสิทธิ์การเข้าถึงไฟล์ในไดเร็กทอรี NFS
กำหนดสิทธิ์การเข้าถึงไฟล์ในไดเร็กทอรี NFS โดยแก้ไขไฟล์ /etc/exports
/data 192.168.1.0/24(rw,no_root_squash,sync,anonuid=1000,anongid=1000)
ในไฟล์ /etc/exports
แต่ละบรรทัดจะกำหนดข้อมูลดังนี้
/data
คือไดเร็กทอรีที่ต้องการให้ NFS Server ให้บริการ192.168.1.0/24
คือเครือข่ายที่อนุญาตให้เข้าถึง NFS Serverrw,no_root_squash,sync,anonuid=1000,anongid=1000
คือตัวเลือกการกำหนดค่า NFS Server
ตัวเลือกการกำหนดค่า NFS Server มีดังนี้
rw
อนุญาตให้อ่านและเขียนไฟล์no_root_squash
อนุญาตให้ผู้ใช้ root บนเครื่องลูกค้าเข้าถึงไฟล์ใน NFS Server ได้sync
บังคับให้ NFS Server ซิงค์ไฟล์กับเครื่องลูกค้าทันทีanonuid=1000
กำหนด UID ให้กับผู้ใช้ที่ไม่ระบุชื่อบนเครื่องลูกค้าเป็น 1000anongid=1000
กำหนด GID ให้กับผู้ใช้ที่ไม่ระบุชื่อบนเครื่องลูกค้าเป็น 1000
- กำหนด user
สร้าง user โดยรันคำสั่งต่อไปนี้
useradd -d /home/user -m user
ในคำสั่งข้างต้น
useradd
คือคำสั่งสำหรับสร้าง user-d
คือตัวเลือกสำหรับกำหนดไดเร็กทอรีเริ่มต้นของ user-m
คือตัวเลือกสำหรับสร้างไดเร็กทอรีเริ่มต้นของ user หากไม่ระบุจะสร้างไดเร็กทอรีเปล่า
- กำหนดรหัสผ่านให้ user
กำหนดรหัสผ่านให้ user โดยรันคำสั่งต่อไปนี้
passwd user
- กำหนดสิทธิ์การเข้าถึงไฟล์
กำหนดสิทธิ์การเข้าถึงไฟล์ โดยแก้ไขไฟล์ /etc/passwd
user:x:1000:1000:user:/home/user:/bin/bash
ในไฟล์ /etc/passwd
แต่ละบรรทัดจะกำหนดข้อมูลดังนี้
user
คือชื่อ userx
คือรหัสผ่าน (หากต้องการซ่อนรหัสผ่านให้ใส่!
แทน)1000
คือ UID1000
คือ GIDuser
คือชื่อโฮมไดเร็กทอรี/bin/bash
คือเชลล์เริ่มต้น
หลังจากทำตามขั้นตอนข้างต้นแล้ว user จะสามารถ upload files ผ่าน sftp ไปยังไดเร็กทอรี NFS ได้
ตัวอย่างการใช้งาน
สมมติว่าเรามี user ชื่อ user
และไดเร็กทอรี /data
ที่ต้องการให้ user user
สามารถ upload files ได้
เราสามารถกำหนดสิทธิ์การเข้าถึงไฟล์ดังนี้
chown user:user /data
หลังจากนั้น user user
จะสามารถ upload files ไปยังไดเร็กทอรี /data
ได้
หากต้องการกำหนดสิทธิ์การเข้าถึงไฟล์เฉพาะบางไฟล์หรือไดเร็กทอรีย่อย ให้ใช้คำสั่ง chmod
แทน chown
นอกจากนี้ ยังสามารถกำหนดสิทธิ์การเข้าถึงไฟล์ให้กับ user เฉพาะบนเครื่องลูกค้าได้ โดยแก้ไขไฟล์ /etc/exports
ดังนี้
/data 192.168.1.0/24(rw,no_root_squash,sync,anonuid=1000,anongid=1000,user=user)
ในไฟล์ /etc/exports
แต่ละบรรทัดจะกำหนดข้อมูลดังนี้
user
คือชื่อ user ที่อนุญาติให้เข้าถึงไฟล์
หากต้องการกำหนดสิทธิ์การเข้าถึงไฟล์ให้กับ user หลาย user สามารถใช้เครื่องหมาย ,
คั่นชื่อ user ดังนี้
/data 192.168.1.0/24(rw,no_root_squash,sync,anonuid=1000,anongid=1000,user=user1,user2)