(实用)Ubuntu 开启NFS服务
本文介紹如何在Ubuntu下開啟NFS文件系統(tǒng),從而掛載網(wǎng)絡(luò)上其他機(jī)器的文件系統(tǒng)。
NFS, Network File System, 即網(wǎng)絡(luò)文件系統(tǒng),通常NFS有提供者和使用者,提供者export自己的目錄,使用者將提供者共享(export)的目錄掛載到自己的機(jī)器上,我們將提供者視為服務(wù)端,使用者視為客戶端,但是在NFS中,這個(gè)C-S關(guān)系實(shí)質(zhì)上是不固定的。
一、服務(wù)器端
1.安裝nfs-kernel-server,將會(huì)自動(dòng)安裝nfs-common和rpcbind等依賴
$ sudo apt-get install nfs-kernel-server2.配置/etc/exports文件,該文件在nes-kernel-server安裝前不存在,文件中的內(nèi)容設(shè)置了允許發(fā)現(xiàn)服務(wù)端共享目錄的客戶端主機(jī)以及擁有的訪問權(quán)限,其字段的格式如下:
格式:??share_dir????client_host(permission1,permission2,...,permissionN)
參數(shù):
(1)share_dir
共享目錄,必須是目錄的絕對(duì)路徑,若為文件,則在掛載時(shí)會(huì)出錯(cuò)。若目錄名含有空格等字符,須用雙引號(hào)標(biāo)注。
(2)client_host
可以是單個(gè)主機(jī)(指定網(wǎng)絡(luò)IP),也可以是網(wǎng)絡(luò)段,支持通配符*和?
(3)permission
ro:?只讀(read-only)
rw:讀和寫(read-write)
root_squash:壓縮root用戶。當(dāng)客戶端以root掛載時(shí),則NFS服務(wù)器將root視為匿名用戶服務(wù)(nfsnobody)。
no_root_squash:不壓縮root用戶。當(dāng)客戶端以root掛載時(shí),則NFS服務(wù)器將其為共享目錄的root用戶,不安全。
sync:同步寫磁盤
async:異步寫磁盤。
示例:
$ vim /etc/exports --------Add Content Below-------- /.../EXPORT_DIR HOST1(rw,sync,no_subtree_check) HOST2(ro,sync,no_subtree_check) /.../EXPORT_DIR ×(ro,sync,no_subtree_check)上面的例子中,EXPORT_DIR是要共享到網(wǎng)絡(luò)上的目錄。
后面的HOST1和HOST2是允許訪問的客戶端主機(jī),客戶端主機(jī)之間使用空格隔開。如果允許網(wǎng)絡(luò)上的所有客戶端主機(jī)發(fā)現(xiàn)服務(wù)器“出口”的目錄,就使用星號(hào)取代主機(jī)名。
每一個(gè)客戶端主機(jī)后的括號(hào)內(nèi)是訪問控制策略,包括讀寫權(quán)限(ro,只讀;rw,讀寫等等),訪問權(quán)限之間使用逗號(hào)分隔。
3.重啟nfs服務(wù)
$ sudo /etc/init.d/nfs-kernel-server restart也可以檢查nfs服務(wù)器是否正常監(jiān)聽,通過下面的命令找到對(duì)應(yīng)的監(jiān)聽端口
$ netstat -tl | grep nfs?
二、客戶端掛載服務(wù)端NFS
1.查看目標(biāo)服務(wù)器共享的目錄
$ sudo apt-get install nfs-kernel-server #客戶端同樣也要安裝nfs軟件包$ showmount -e SERVER_HOST
-e 選項(xiàng)列出服務(wù)端的export list, 其中SERVER_HOST是目標(biāo)服務(wù)器的主機(jī)地址,該命令將會(huì)顯示這個(gè)服務(wù)器共享的目錄列表。如果不指定SERVER_HOST,將會(huì)列出本機(jī)共享的目錄(export list)。
2.查看自己已經(jīng)掛載了哪些目錄
$ showmount -a將會(huì)看到目前已掛載的服務(wù)器以及相應(yīng)的共享目錄。
3.創(chuàng)建掛載點(diǎn)
如果發(fā)現(xiàn)有服務(wù)器共享的目錄需要掛載但還沒有掛載,可以為其創(chuàng)建一個(gè)掛載點(diǎn):
$ mkdir /mnt/MOUNT_DIR其中的MOUNT_DIR是任意指定的名稱。
4.掛載共享目錄
在服務(wù)器已經(jīng)共享的前提下,使用客戶端可以掛載共享目錄
$ mount SERVER_HOST:EXPORT_DIR /mnt/CLIENT_DIR其中,SERVER_HOST是服務(wù)器地址,目錄與服務(wù)器主機(jī)使用冒號(hào)分隔,EXPORT_DIR必須與exports文件中的完全相同,這個(gè)可以通過前面的showmount命令查看。最后的參數(shù)就是我們將服務(wù)器的目錄掛載到本地的掛載點(diǎn),即第三布中創(chuàng)建的目錄。
5.卸載已掛載的目錄
如果使用完了服務(wù)器的共享目錄,應(yīng)該將其卸載,使用umount命令與卸載普通文件系統(tǒng)操作相同。
$ umount /mnt/MOUNT_DIR轉(zhuǎn)載于:https://www.cnblogs.com/Security-Darren/p/3945375.html
總結(jié)
以上是生活随笔為你收集整理的(实用)Ubuntu 开启NFS服务的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用sublime text 开发nod
- 下一篇: ubuntu 下telnet 操纵me