小c學Linux(31)--NFS服務配置

NFS : Network File System

網絡文件系統(NFS)是一個分佈式文件系統協議,最初由Sun Microsystems於1984年開發,[1]允許客戶端計算機上的用戶通過計算機網絡訪問文件,就像訪問本地存儲一樣。與許多其他協議一樣,NFS建立在開放網絡計算遠程過程調用(ONC RPC)系統上。NFS是Request for Comments(RFC)中定義的開放標準,允許任何人實現該協議。

在centos上默認安裝了nfs-utils,可直接啓動服務。

三個關鍵進程:

  • moutnd 掛載守護進程,負責客戶端來源認證進程
  • nfsd:文件讀寫
  • idmapd:id映射進程

NFS配置文件/etc/exports

#文件系統         #客戶端{ip | 網段}     #導出屬性
/nfsfile       192.168.2.0/24(rw,no_root_squash)

文件系統導出屬性:

導出屬性
rw 讀寫
async 同步
sync 異步
root_squash 壓縮用戶,通過網絡將root用戶轉換爲nfsnobody
no_root_squash 不壓縮用戶,任何客戶端root可以訪問,不安全
all_squash 壓縮所有用戶,誰都不準以自己的身份訪問,最安全
anonuid,anongid 指定用戶

showmout

#全部 在nfs服務器端顯示所有的掛載會話
showmount -a SERVER_IP

#文件 在服務器端執行,顯示那個導出的文件系統被那些客戶端掛載過
showmount -d SERVER_IP

#共享,在客戶端執行,探查某主機所導出的nfs文件系統
showmount -e SERVER_IP

exportfs導出nfs文件

#操作所有操作系統
exportfs -a 

#重新導出所有文件系統
exportfs -ra 

#取消導出的所有文件系統
exportfs -ua

#顯示詳細信息
exportfs -v

nfs的輔助進程mountd等監聽在固定端口上,可以通過在編輯/etc/sysconfig/nfs等參數來實現

操作實例

客戶端以某一個具體的用戶訪問NFS

1)服務端

#編輯/etc/exports,壓縮所有用戶
/nfsfile      172.16.0.0/16(rw,all_squash)

#創建一個新的目錄,掛載新的分區sda#,然後使某個UID能夠訪問
fdisk /dev/sda
mkdir /nfsfile

#開機自動掛載,編輯/etc/fstab並有acl特性,
/dev/sda3     /nfsfile    default,acl  0 0

#生效
mount -a

#創建一個UID=1000的用戶
useradd -u 1000 testuser

#設置UID=1000的用戶對/nfsfile有rwx權限
setfacl -m u:1000:rwx  /nfsfile

2)客戶端

#將NFS共享的文件掛載至本地某個目錄/mnt/nfs
mkdir /mnt/nfs 
mount -t nfs 172.16.36.215:/nfsfile /mnt/nfs

#編輯/etc/fstab設置爲開機自動掛載,_netdev特性可檢測掛載網絡
172.16.36.215:/nfsfile  /mnt/nfs  default,_netdev 0 0

#創建NFS服務端設置的UID=1000的用戶
useradd -u 1000 testuser

#su到testuser
su - testuser

#訪問/mnt/nfs目錄,測試
cd /mnt/nfs
cp /etc/fstab ./
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章