|NO.Z.00037|——————————|LinuxNetwork|——|Linux&NFS服務.V03|
阿新 • • 發佈:2022-03-25
[LinuxNetworkEnd:Linux&NFS服務.V03] [Applications.LinuxNetworkEnd] [|NFS|普通使用者建立|自動掛載|普通使用者對映|]
附錄一:NFS伺服器的配置
### --- NFS伺服器的配置 ~~~ NFS伺服器的配置相對比較簡單,只需要在相應的配置檔案中進行設定, ~~~ 然後啟動NFS伺服器即可。 ~~~ NFS服務的配置檔案為/etc/exports,這個檔案是NFS的主要配置檔案, ~~~ 不過系統並沒有預設值,所以這個檔案不一定存在,可能要使用vim手動建立, ~~~ 然後在檔案裡面寫入配置內容。 ~~~ /etc/exports 檔案內容格式:
### --- 共享目錄 客戶端1(訪問許可權,使用者對映,其他) 客戶端2 (訪問許可權,使用者對映,其他)
~~~ 共享目錄:共享目錄是指NFS伺服器共享給客戶機使用過的目錄
~~~ 客戶端:客戶端時指網路中可以訪問這個NFS共享目錄的計算機。
### --- 客戶端常用的指定方式:
~~~ 指定IP地址的主機:192.168.0.200
~~~ 指定子網中所有主機:192.168.88.0
~~~ 指定域名的主機:www.atyanqi.com
~~~ 指定域中的所有主機:*.atyanqi.com
~~~ 所有主機:*
### --- 設定輸出目錄的訪問許可權,使用者對映等 ~~~ 訪問許可權選項: ~~~ 設定輸出目錄只讀:ro ~~~ 設定輸出目錄讀寫:rw
### --- 使用者對映選項:
~~~ root_squash:將root使用者的訪問對映為匿名(nfsnobody)使用者UID和GID:(預設生效)
~~~ no_root_squash:保留管理員許可權,以伺服器管理員的許可權管理
~~~ all_squash:將遠端訪問的使用者及所屬組都對映為指定UID,GID的匿名使用者。
~~~ anonuid=xxx:將遠端訪問的所有使用者都對映為指定UID的匿名使用者:
~~~ anongid=xxx:將遠端訪問的所有組都對映為指定GID匿名組賬號:
附錄二:NFS伺服器的啟動與停止:### --- 其他選項: ~~~ sync:將資料同步寫入記憶體緩衝區域磁碟中,效率低,但可以保證資料的一致性(同步) ~~~ async:將資料先儲存在記憶體緩衝區中,必要時才寫入磁碟(非同步)
### --- 啟動NFS伺服器
~~~ 為了使NFS伺服器能正常工作,需要啟動rpcbind和nfs兩個服務,
~~~ 並且rpcbing一定要先於nfs啟動。
service rpcbind start
service nfs start
### --- 查詢NFS伺服器狀態
service rpcbind status
service nfs status
### --- 停止NFS伺服器
~~~ 要停止NFS執行時,需要先停止nfs服務再停止rpcbind服務,
~~~ 對於系統中有其他服務(如NIS)需要使用時,不需要停止rpcbind服務
service nfs stop
service rpcbind stop
### --- 設定NFS伺服器的自動啟動狀態
~~~ 設定rpcbind和nfs服務在系統執行級別2345自動啟動
chkconfig --level 2345 rpcbind on
chkconfig --level 2345 nfs on
### --- 檢視RPC伺服器開啟了那些埠
rpcinfo -p localhost
附錄三:實驗相關例項:
### --- 將NFS伺服器的/home/zhangsan共享給192.168.115.0網段,rw許可權
vi /etc/exports
/home/zhangsan 192.168.115.0(rw)
### --- 重啟rpcbind 和nfs服務
service recbind restart
service nfs restart
exports
### --- 伺服器端檢視nfs共享狀態
showmount -e 本機IP
~~~ 檢視自己共享的服務
### --- 客戶端檢視NFS共享狀態
showmount -e NFS伺服器IP
### --- 客戶端掛載NFS伺服器共享目錄
~~~ 命令格式:mount NFS伺服器IP:共享目錄 本地掛載點目錄
mount 192.168.115.10:/home/zhangsan/
mount |grep nfs
mount -o vers=3 共享本地 // 指定掛載使用nfs V3版本(避免同步延遲)
~~~ 驗證客戶端和nfs伺服器端檔案是否一致:
cd /media/zhangsan
~~~ 修改伺服器端響應許可權,不然客戶端無法正常訪問和使用
### --- nfs共享許可權和訪問控制
~~~ 6.1、客戶端root使用者
~~~ 使用客戶端和root身份在nfs伺服器上建立檔案,檔案的所有者和所屬組是nfsnobody
### --- 客戶端普通使用者
~~~ 使用客戶端的普通使用者身份在nfs伺服器上建立檔案,所有者和所屬組是nobody或普通使用者。
~~~ 如果明確設定了普通使用者的對映使用者身份,那麼此時客戶端使用者的身份轉換為指定對映使用者
~~~ 如果NFS server上面有同名使用者,那麼此時客戶端登入賬戶的身份轉換為NFS server上面的同名使用者。
### --- 解除安裝和自動掛載:
~~~ 解除安裝:
### --- 解除安裝客戶端的掛載目錄
umount 掛載點
### --- 停止伺服器端的共享
exportfs -au
~~~ 自動掛載:/etc/fstab
~~~ 格式:<server>:<remote/export></local/directory>nfs<options> 0 0
~~~ #192.168.115.10:/home/zhangsan /media/zhangsan nfs defaults 0 0
~~~ mount -a
### --- 相關命令
~~~ exportfs命令
~~~ 如果我們在啟動了NFS之後又修改了/etc/exports,是不是還要重新啟動nfs呢?
~~~ 這個時候我們就可以用exportfs命令來是改動立刻生效,該命令格式如下:
~~~ 格式:exportfs[-aruv]
~~~ -a:全部掛載或解除安裝/etc/exports中的內容
~~~ -r:重新讀取/etc/exports中的資訊,並同步更新/etc/exports /var/lib/nfs/xtab
~~~ -u:解除安裝單一目錄(和-a一起使用為解除安裝所有/etc/exports檔案中的目錄
~~~ -v:在export的時候,將詳細的資訊輸出到螢幕上。
### --- 具體例子:
~~~ exportfs -au:解除安裝所有共享目錄
~~~ exportfs -ra:重新共享所有目錄並輸出詳細資訊
### --- rpcinfo命令
~~~ 利用rpcinfo -p 可以查看出RPC開啟的埠所可提供的程式有哪些
~~~ 其中NFS開啟的是2049,portmapper(rpcbind)開啟的是111,其餘則是rpc開啟的。
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)