Linux安裝配置nfs實現共享遠程目錄


1. 服務端安裝nfs

yum -y install nfs-utils rpcbind

2.編輯/etc/exports

/etc/exports文件內容格式:

<輸出目錄> [客戶端1 選項(訪問權限,用戶映射,其他)] [客戶端2 選項(訪問權限,用戶映射,其他)]

a. 輸出目錄:

輸出目錄是指NFS系統中需要共享給客戶機使用的目錄;

b. 客戶端:

客戶端是指網絡中可以訪問這個NFS輸出目錄的計算機

客戶端常用的指定方式

  • 指定ip地址的主機:192.168.0.200

  • 指定子網中的所有主機:192.168.0.0/24 192.168.0.0/255.255.255.0

  • 指定域名的主機:david.bsmart.cn

  • 指定域中的所有主機:*.bsmart.cn

  • 所有主機:*

c. 選項:

選項用來設置輸出目錄的訪問權限、用戶映射等。

NFS主要有3類選項:

訪問權限選項

  • 設置輸出目錄只讀:ro

  • 設置輸出目錄讀寫:rw

用戶映射選項

  • all_squash:將遠程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody);

  • no_all_squash:與all_squash取反(默認設置);

  • root_squash:將root用戶及所屬組都映射為匿名用戶或用戶組(默認設置);

  • no_root_squash:與rootsquash取反;

  • anonuid=xxx:將遠程訪問的所有用戶都映射為匿名用戶,並指定該用戶為本地用戶(UID=xxx);

  • anongid=xxx:將遠程訪問的所有用戶組都映射為匿名用戶組賬戶,並指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx);

其它選項

  • secure:限制客戶端只能從小於1024的tcp/ip端口連接nfs服務器(默認設置);

  • insecure:允許客戶端從大於1024的tcp/ip端口連接服務器;

  • sync:將數據同步寫入內存緩沖區與磁盤中,效率低,但可以保證數據的一致性;

  • async:將數據先保存在內存緩沖區中,必要時才寫入磁盤;

  • wdelay:檢查是否有相關的寫操作,如果有則將這些寫操作一起執行,這樣可以提高效率(默認設置);

  • no_wdelay:若有寫操作則立即執行,應與sync配合使用;

  • subtree:若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限(默認設置);

  • no_subtree:即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;

關於權限的分析

  1. 客戶端連接時候,對普通用戶的檢查

    a. 如果明確設定了普通用戶被壓縮的身份,那么此時客戶端用戶的身份轉換為指定用戶;

    b. 如果NFS server上面有同名用戶,那么此時客戶端登錄賬戶的身份轉換為NFS server上面的同名用戶;

    c. 如果沒有明確指定,也沒有同名用戶,那么此時 用戶身份被壓縮成nfsnobody;

  2. 客戶端連接的時候,對root的檢查

    a. 如果設置no_root_squash,那么此時root用戶的身份被壓縮為NFS server上面的root;

    b. 如果設置了all_squash、anonuid、anongid,此時root 身份被壓縮為指定用戶;

    c. 如果沒有明確指定,此時root用戶被壓縮為nfsnobody;

    d. 如果同時指定no_root_squash與all_squash 用戶將被壓縮為 nfsnobody,如果設置了anonuid、anongid將被壓縮到所指定的用戶與組;

應用舉例:

 

/cbak x.x.x.35/255.255.255.240(rw,no_root_squash,no_all_squash,sync)

指定ip段可訪問當前系統指定目錄/cbak,並擁有讀寫權限,root的用戶未作限制可正常使用。

vi /etc/exports

/home/share 192.168.x.xxx(rw,all_squash,anonuid=0,anongid=0)

啟動服務,並設置開機啟動

service rpcbind start
service nfs start
chkconfig --level 2345 rpcbind on
chkconfig --level 2345 nfs on

3.客戶端配置

安裝必須的yum包:

yum -y install nfs-utils rpcbind

創建目錄:

mkdir /share

查看服務端共享的目錄:

showmount -e 202.5.16.xxx

掛載共享目錄到本地,並測試讀寫:

mount -t nfs 202.5.16.xxx:/share /share 
cd /share && touch a

設置開機自動掛載:

vi /etc/fstab
202.5.16.xxx:/share /share nfs defaults 0 0

 

查看uid,gid 使用命令  cat /etc/passwd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM