linux NFS 學(xué)習(xí)筆記
NFS,是Network File System的簡(jiǎn)寫,即網(wǎng)絡(luò)文件系統(tǒng)。網(wǎng)絡(luò)文件系統(tǒng)是FreeBSD支持的文件系統(tǒng)中的一種,也被稱為NFS. NFS允許一個(gè)系統(tǒng)在網(wǎng)絡(luò)上與他人共享目錄和文件。通過(guò)使用NFS,用戶和程序可以像訪問(wèn)本地文件一樣訪問(wèn)遠(yuǎn)端系統(tǒng)上的文件。
NFS基于 RPC協(xié)議,NFS本身只是起到共享的作用而和客戶端進(jìn)行連接和數(shù)據(jù)傳輸則是RPC協(xié)議的功能
NFS主要通過(guò)兩個(gè)daemon 來(lái)進(jìn)行控制:
1.rpc.nfsd ------- 它用來(lái)控制客戶端是否可以連接到,NFS server
2.rpc.mountd----它用來(lái)控制客戶端連接后是否有權(quán)限對(duì)文件進(jìn)行操作,主要是依據(jù)/etc/exports文件的設(shè)置
啟用NFS需要啟用portmap 和nfs-utils
1.portmap主要用來(lái)控制客戶端連接時(shí)請(qǐng)求的端口
2.nfs-utils 是rpc.nfsd、rpc.mountd 的執(zhí)行文件
/etc/exports NFS服務(wù)的主要配置文件
/usr/sbin/exportfs NFS服務(wù)的管理命令
/usr/sbin/showmount 客戶端的查看命令
/var/lib/nfs/xtab 記錄曾經(jīng)登錄過(guò)的客戶信息
/etc/exports文件設(shè)置格式
【分享的目錄】 ip或者主機(jī)(參數(shù)1.參數(shù)2) ip或者主機(jī)(參數(shù)3,參數(shù)4)
參數(shù)主要有以下幾個(gè)
rw:讀寫
ro:只讀
no_root_squash:客戶端登陸者如果為root,則登錄共享目錄后具有root權(quán)限
root_squash:root登錄后身份被壓縮為nfsnobody(默認(rèn)情況下)
all_squash:所有用戶登錄后身份被壓縮為nfsnobody(默認(rèn)下)
anonuid:如不想讓用戶登錄后被壓縮為nfsnobody用戶可以更改此項(xiàng)
anongid:同上(這個(gè)是組)
sync:數(shù)據(jù)同步寫入硬盤
async:數(shù)據(jù)先存儲(chǔ)到內(nèi)存
關(guān)于權(quán)限的分析
1.客戶端連接時(shí)候,對(duì)普通用戶的檢查,NO.1如果明確設(shè)定了普通用戶被壓縮的身份,那么此時(shí)客戶端用戶的身份轉(zhuǎn)換為指定用戶,NO.2如果NFS server上面有同名用戶,那么此時(shí)客戶端登錄賬戶的身份轉(zhuǎn)換為NFS server上面的同名用戶,NO.3如果沒(méi)有明確指定,也沒(méi)有同名用戶,那么此時(shí) 用戶身份被壓縮成nfsnobody
2.客戶端連接的時(shí)候,對(duì)root的檢查,NO.1如果設(shè)置no_root_squash,那么此時(shí)root用戶的身份被壓縮為NFS server上面的root,NO.2如果設(shè)置了all_squash、anonuid、anongid,此時(shí)root 身份被壓縮為指定用戶,NO.3如果沒(méi)有明確指定,此時(shí)root用戶被壓縮為nfsnobody,NO.4如果同時(shí)指定no_root_squash與all_squash 用戶將被壓縮為 nfsnobody,如果設(shè)置了anonuid、anongid將被壓縮到所指定的用戶與組
啟動(dòng)服務(wù)
service portmap start or /etc/rc.d/init.d/portmap start
service nfs start or /etc/rc.d/init.d/nfs start
exportfs 命令用法
-a 全部掛載或卸載
-r 重新讀取/etc/exports 中的信息 ,并同步更新/etc/exports、/var/lib/nfs/xtab
-u 卸載單一目錄(和-a一起使用為卸載所有/etc/exports文件中的目錄)
-v 在屏幕輸出詳細(xì)信息
showmount 命令用法
-a 顯示已經(jīng)于客戶端連接上的目錄信息
-e IP或者h(yuǎn)ostname 顯示此IP地址分享出來(lái)的目錄
利用netstat可以查看出nfs服務(wù)開啟了很多端口其中nfs開啟的是2049 portmap 開啟的是 111,其余則是rpc開啟的
利用rpcinfo -p 可以查看出RPC開啟的端口所提供的程序有哪些
使用mount -t nfs ip(hostname):共享目錄 掛載點(diǎn) 方式,可以完成掛載
最后注意兩點(diǎn),雖然通過(guò)權(quán)限設(shè)置可以讓普通用戶訪問(wèn),但是掛載的時(shí)候只默認(rèn)情況下只有root可以去掛載(普通用戶可以執(zhí)行sudo)
NFS server 關(guān)機(jī)的時(shí)候一點(diǎn)要確保NFS服務(wù)關(guān)閉,沒(méi)有客戶端處于連接狀態(tài)??!通過(guò)showmount -a 可以查看,如果有的話用kill killall pkill 來(lái)結(jié)束,(-9 強(qiáng)制結(jié)束)
- Linux NFS機(jī)制工作原理及實(shí)例解析
- linux如何實(shí)現(xiàn)一鍵部署nfs過(guò)程圖解
- linux下NFS配置教程詳解
- Linux NFS服務(wù)器安裝與配置思路分析
- Linux NFS服務(wù)器的安裝與配置方法(圖文詳解)
- linux NFS安裝配置及常見問(wèn)題、/etc/exports配置文件、showmount命令
- linux系統(tǒng)之間通過(guò)nfs網(wǎng)絡(luò)文件系統(tǒng)掛載設(shè)置方法
- Linux服務(wù)器配置—搭建NFS服務(wù)器步驟
- 通過(guò)案例深入解析linux NFS機(jī)制
相關(guān)文章
CentOS 7.2.1511 編譯安裝Nginx1.10.1+MySQL5.6.33+PHP5.6.26運(yùn)行環(huán)境
這篇文章主要介紹了CentOS 7.2.1511 編譯安裝Nginx1.10.1+MySQL5.6.33+PHP5.6.26運(yùn)行環(huán)境,需要的朋友可以參考下2016-10-10Linux實(shí)現(xiàn)DHCP服務(wù)器的搭建
Linux常見的服務(wù)器有幾種,本文詳細(xì)介紹了Linux實(shí)現(xiàn)DHCP服務(wù)器的搭建,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08詳解Linux(centos7)下安裝OpenSSL安裝圖文方法
這篇文章主要介紹了詳解Linux(centos7)下安裝OpenSSL安裝圖文方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02Ubuntu18.04更換國(guó)內(nèi)源的方法示例
這篇文章主要介紹了Ubuntu18.04更換國(guó)內(nèi)源的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12CentOS下Lighttpd Web服務(wù)器安裝與配置方法
CentOS下Lighttpd Web服務(wù)器安裝與配置方法,需要的朋友可以參考下。2011-04-04Linux 6 下編譯安裝 PHP 5.6實(shí)例詳解
這篇文章主要介紹了Linux 6 下編譯安裝 PHP 5.6實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-04-04centos下yum搭建安裝linux+apache+mysql+php環(huán)境的方法
這篇文章主要介紹了centos下yum搭建安裝linux+apache+mysql+php環(huán)境的方法,本文分步驟給大家介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-10-10CentOS 7.2部署郵件服務(wù)器(Postfix)
這篇文章主要為大家詳細(xì)介紹了CentOS 7.2如何部署郵件服務(wù)器Postfix,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-11-11