yum -y install nfs-utils rpcbind
rpcbind(CentOS 6 前稱 portmap)負責 RPC 端口映射,NFS 依賴它。
/etc/exports 集中管控:/home/public 192.168.8.0/24(ro) localhost(rw) *.ev.ncku.edu.tw(ro,sync)
格式:共享目錄 客戶端1(選項) 客戶端2(選項)...
192.168.8.10192.168.8.0/24 或 192.168.8.0/255.255.255.0* ?| 選項 | 說明 |
|---|---|
rw / ro | 讀寫 / 唯讀,最終仍受文件系統 rwx 限制 |
sync / async | 同步寫入磁盤 / 異步先寫內存(性能高但風險大) |
root_squash (默認) | 將客戶端 root 映射為匿名用戶 nfsnobody,增強安全 |
no_root_squash | 保留客戶端 root 權限(慎用!) |
all_squash | 所有用戶映射為匿名用戶 |
anonuid=UID, anongid=GID | 指定匿名用戶 UID/GID(需存在於 /etc/passwd) |
[root@web01 ~]# mkdir /home/public
[root@web01 ~]# chown barlow /home/public
[root@web01 ~]# service nfs start
/home/public *(rw,no_root_squash)
/home/public 192.168.8.0/24(rw) *(ro)
/home/public 192.168.100.10(rw)
NFS 除 111 (rpcbind)、2049 (nfsd) 固定外,還會隨機佔用多個端口,iptables 難以配置。RHEL/CentOS 6.x 可通過 /etc/sysconfig/nfs 固定端口:
RQUOTAD_PORT=1001
LOCKD_TCPPORT=30001
LOCKD_UDPPORT=30001
MOUNTD_PORT=1002
設置後重啟 nfs、rpcbind,防火牆僅需開放這幾個固定端口即可。
mount -t nfs 192.168.8.10:/home/public /mnt/nfs
# 或加入 /etc/fstab 永久掛載
192.168.8.10:/home/public /mnt/nfs nfs defaults 0 0