DayDayUP_Linux運維學習_NFS搭建與使用



NFS簡介

NFS是一個通過網絡來分享文件的工具;
NFS的學習重點在於權限、用戶身份、RPC程序的理解。
組成部分
NFS:Network File System
可以通過網絡,讓不同設備、不同操作系統,可以彼此分享文件
RPC:Remote Procedure Call
指定每個NFS功能的端口號,並且通知用戶端,來保證用戶可以連接到正確的端口。RPC之所以能知道正確的端口號,是因爲NFS在啓動時會隨機選取幾個端口號,並主動向RPC註冊此端口號,並且RPC是使用111端口來接受此信息。
相關文件
配置文件:/etc/exports
分享目錄完整權限文件:/var/lib/nfs/etab
連接NFS服務器用戶端資料文件:/var/lib/nfs/xtab

NFS的安裝與使用

NFS的安裝

或者
# mount -t iso9660 -o loop CentOS-6.5-i386-bin-DVD1.iso /mnt
# cd /mnt/Packages/
# ls |grep nfs-utils
# rpm -ivh nfs-utils-1.2.3-39.el6.i686.rpm nfs-utils-lib-1.1.5-6.el6.i686.rpm
# ls |grep rpcbind
# rpm -ivh rpcbind-0.2.0-11.el6.i686.rpm

分享目錄配置

# vi /etc/exports  

[要分享的目錄] [ip或ip網段] [權限及登錄身份等]

    /tmp/sharefolder 192.168.0.1/24(rw,all_squash,anonuid=501,anongid=501)//可以寫多行
ip段可以寫成主機名,主機名可以用通配符"*",來匹配域用戶
共享目錄之後,可以跟多個ip段,用空格分開
權限及登錄身份段可用參數

rw(read & write) ;
ro(read only)
#是否可讀寫,除了此處必須設置外,還限制在分享的文件或目錄本身的權限
sync(內存和硬盤同步寫入) ;
async(暫存於內存,而不是直接寫入硬盤);
no_root_squash(如使用NFS的是root用戶,則保留文檔的root權限)root_squash(如使用NFS的是root用戶,會把root更改成nfsnobody用戶,安全性比較好);
all_squash(不論使用NFS的是誰,都會把其更改爲nfsnobody用戶);
anonuid(指定取代root_squash或all_squash所使用匿名用戶的uid);
anongid(指定取代root_squash或all_squash所使用匿名用戶的gid)。
#指定的uid和gid必須是本機系統裏所存在的

擴展 nfsnobody

# cat /etc/passwd|grep nfsnobody


nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin #專門的匿名NFS用戶

NFS的啓動與相關命令

# service rpcbind start && service nfs start
或者
# /etc/init.d/rpcbind start && /etc/init.d/nfs start

如何讓設定好的共享目錄啓動

# exportfs -arv
showmount -e localhost
#exportfs是掛載及卸載共享目錄的命令
#-a是掛載或卸載全部/etc/exports中設定的目錄
#-r重新掛載/etc/exports中設定的目錄,並刷新/var/lib/nfs/xtab中的內容
#-v顯示共享目錄的信息
#showmount是查看NFS共享目錄的命令
#-e顯示指定主機的NFS共享目錄狀態

4 客戶端使用NFS

查詢
# showmount -e 192.168.1.110
掛載
# mount -t nfs 192.168.0.26:/tmp/sharefolder /mnt/nfs
#在server端更改共享目錄權限爲766,沒有執行權限
#在server端更改共享目錄權限爲755,沒有寫權限
mount 選項
-t vfstype 指定文件系統的類型 常用類型有:
  
  光盤或光盤鏡像:iso9660
  
  DOS fat16文件系統:msdos
  
  Windows 9x fat32文件系統:vfat
  
  Windows NT ntfs文件系統:ntfs
  
  Mount Windows文件網絡共享:smbfs
  
  UNIX(LINUX) 文件網絡共享:nfs
-o options 主要用來描述設備或檔案的掛接方式。常用的參數有:
  loop:用來把一個文件當成硬盤分區掛接上系統
  ro:採用只讀方式掛接設備
  rw:採用讀寫方式掛接設備
  iocharset:指定訪問文件系統所用字符集
  nolock nfs mount 默認選項包括文件鎖,依賴於portmap提供的動態端口分配功能,在進行嵌入式環境時,如果報錯需要加上-o nolock 選項

設置自動掛載

# vim /etc/rc.local
mount -t nfs 192.168.0.26:/tmp/sharefolder /mnt/nfs
或者
# vim /etc/fstab
192.168.1.110:/tmp      /mnt                    nfs     nolock,rw       0 0 
# mount -a

查看掛載的列表

mount -l
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章