NFS(Network File System,網(wǎng)絡(luò)文件系統(tǒng))
它允許網(wǎng)絡(luò)中的計(jì)算機(jī)(不同的計(jì)算機(jī)、不同的操作系統(tǒng))之間通過TCP/IP網(wǎng)絡(luò)共享資源,主要在unix系列操作系統(tǒng)上使用。在NFS的應(yīng)用中,本地NFS的客戶端應(yīng)用可以透明地讀寫位于遠(yuǎn)端NFS服務(wù)器上的文件,就像訪問本地文件一樣。
NFS服務(wù)器可以讓PC將網(wǎng)絡(luò)中的NFS服務(wù)器共享的目錄掛載到本地端的文件系統(tǒng)中,而在本地端的系統(tǒng)中看來,那個(gè)遠(yuǎn)程主機(jī)的目錄就好像是自己的一個(gè)磁盤分區(qū)一樣。
因?yàn)镹FS的端口并不固定,導(dǎo)致客戶端連接連接服務(wù)器產(chǎn)生問題,原因就在于客戶端并連接服務(wù)器是需要知道服務(wù)器端的端口才能進(jìn)行連接,
為了解決這一辦法,此時(shí)就需要RPC(Remote Procedure Call,遠(yuǎn)程過程調(diào)用)的服務(wù),當(dāng)服務(wù)器在啟動(dòng)NFS時(shí)會(huì)隨機(jī)選取數(shù)個(gè)端口號,并主動(dòng)向RPC注冊,所以RPC知道每個(gè)NFS功能所對應(yīng)的端口號,RPC將端口號通知給客戶端,讓客戶端可以連接到正確的端口上去。RPC采用固定端口號port 111來監(jiān)聽客戶端的需求并向客戶端響應(yīng)正確的端口號。
即nfs服務(wù)需要搭配RPC服務(wù)運(yùn)行才行
搭建NFS服務(wù)器要求
架設(shè)一臺NFS服務(wù)器,并按照以下要求配置
1、開放/nfs/shared目錄,供所有用戶查詢資料
2、開放/nfs/upload目錄,為192.168.xxx.0/24網(wǎng)段主機(jī)可以上傳目錄,并將所有用戶及所屬的組映射為nfs-upload,其UID和GID均為2100
3、將/home/tom目錄僅共享給192.168.xxx.xxx這臺主機(jī),并只有用戶tom可以完全訪問該目錄
配置
主配置文件進(jìn)行配置
主配置文件:/etc/exports
分析:
1、創(chuàng)建/nfs/shared目錄,供所有用戶查詢資料,則在配置文件中寫入共享的目錄及權(quán)限為只讀(ro權(quán)限)即可
2、創(chuàng)建/nfs/upload目錄,為192.168.217.0/24網(wǎng)段主機(jī)可以上傳目錄,則該共享目錄權(quán)限給讀寫權(quán)限(rw權(quán)限),因?yàn)樗杏脩艏八鶎俚慕M映射為nfs-upload,其UID和GID均為210,則寫入all_squash ,anonuid=2100,?anongid=2100
3、創(chuàng)建home/tom目錄,寫入只有192.168.217.133/24(客戶端ip),只有用戶tom可以完全訪問該目錄,則寫入rw權(quán)限,
配置環(huán)境:
[root@server ~]# systemctl stop firewalld
[root@server ~]# setenforce 0
[root@server ~]# yum install nfs-utils rpcbind -y
1、開放/nfs/shared目錄,供所有用戶查詢資料 ?
服務(wù)端:
[root@server ~]# systemctl start nfs-server 把rpc和nfs服務(wù)合并了直接啟動(dòng)即可
[root@server ~]# mkdir -p /nfs/shared #先創(chuàng)一個(gè)目錄文件
[root@server ~]# touch /nfs/shared/資料{a..f} #創(chuàng)幾個(gè)資料文件做模擬
[root@server ~]# ll /nfs/shared/ 查看server端的文件
總用量 0
-rw-r--r--. 1 root root 0 1月 13 23:52 資料a
-rw-r--r--. 1 root root 0 1月 13 23:52 資料b
-rw-r--r--. 1 root root 0 1月 13 23:52 資料c
-rw-r--r--. 1 root root 0 1月 13 23:52 資料d
-rw-r--r--. 1 root root 0 1月 13 23:52 資料e
-rw-r--r--. 1 root root 0 1月 13 23:52 資料f
[root@server ~]# vim /etc/exports 打開nfs的配置文件
/nfs/shared *(ro)
要分享的目錄 *代表所有用戶 ()中的ro代表只讀權(quán)限
~
~
~
[root@server ~]# exportfs -ra 導(dǎo)出配置文件生效
[root@server ~]# showmount -e 查看共享的目錄
Export list for server:
/nfs/shared *
客戶端:
[root@Node1 ~]# showmount -e 192.168.217.132 顯示服務(wù)器分享過來的目錄
Export list for 192.168.217.132:
/nfs/shared *
[root@Node1 ~]# mkdir /test 準(zhǔn)備搭建文件系統(tǒng)
[root@Node1 ~]# mount 192.168.20.133:/nfs /test
[root@Node1 ~]# cd /test/ 查看是否可以看到
[root@Node1 test]# ll
總用量 0
drwxr-xr-x. 2 root root 96 11月 1月 13 shared
[root@Node1 test]# ll shared/
總用量 0
-rw-r--r--. 1 root root 0 1月 13 23:52 資料a
-rw-r--r--. 1 root root 0 1月 13 23:52 資料b
-rw-r--r--. 1 root root 0 1月 13 23:52 資料c
-rw-r--r--. 1 root root 0 1月 13 23:52 資料d
-rw-r--r--. 1 root root 0 1月 13 23:52 資料e
-rw-r--r--. 1 root root 0 1月 13 23:52 資料f
2、上傳文件的操作
服務(wù)端:
[root@server ~]# mkdir /nfs/upload
[root@server ~]# touch /nfs/upload/資料{1..5}
[root@server ~]# ll /nfs/upload/
總用量 0
-rw-r--r--. 1 root root 0 1月 13 00:23 資料1
-rw-r--r--. 1 root root 0 1月 13 00:23 資料2
-rw-r--r--. 1 root root 0 1月 13 00:23 資料3
-rw-r--r--. 1 root root 0 1月 13 00:23 資料4
-rw-r--r--. 1 root root 0 1月 13 00:23 資料5
[root@server ~]# vim /etc/exports
/nfs/shared *(ro)
/nfs/upload 192.168.217.0/24(rw,all_squash,anonuid=210,anongid=210)
[root@server ~]# groupadd -g 210 nfs-upload
[root@server ~]# useradd -u 210 -g 210 nfs-upload # 或者直接創(chuàng)建系統(tǒng)用戶(useradd -r -u 210 nfs-upload)
[root@server ~]# showmount -e
Export list for server:
/nfs/shared *
/nfs/upload 192.168.217.0/24
?同時(shí)需要注意/nfs/uplaod 的權(quán)限問題,要想讓映射用戶可以用創(chuàng)建文件,那么就需要其他人的讀權(quán)限。
[root@server home]# chmod o+w /nfs/upload/
[root@server home]# ll /nfs/
總用量 0
drwxr-xr-x. 2 root root 96 1月 13 23:52 shared
drwxr-xrwx. 2 root root 81 1月 13 00:23 upload
客戶端:
客戶端192.168.20.133可以訪問到,
[root@Node1 test]# showmount -e 192.168.20.133
Export list for 192.168.20.133:
/nfs/shared *
/nfs/upload 192.168.100.0/24
[root@Node1 test]# mount 192.168.20.133:/nfs/ /test/ 通過讀寫方式掛載
[root@Node1 test]# cd /test/
[root@Node1 test]# ll upload/
總用量 0
-rw-r--r--. 1 root root 0 1月 13 00:23 資料1
-rw-r--r--. 1 root root 0 1月 13 00:23 資料2
-rw-r--r--. 1 root root 0 1月 13 00:23 資料3
-rw-r--r--. 1 root root 0 1月 13 00:23 資料4
-rw-r--r--. 1 root root 0 1月 13 00:23 資料5
[root@Node1 upload]# touch a
[root@Node1 upload]# ll
總用量 0
-rw-r--r--. 1 root root 0 1月 13 00:23 資料1
-rw-r--r--. 1 root root 0 1月 13 00:23 資料2
-rw-r--r--. 1 root root 0 1月 13 00:23 資料3
-rw-r--r--. 1 root root 0 1月 13 00:23 資料4
-rw-r--r--. 1 root root 0 1月 13 00:23 資料5
-rw-r--r--. 1 210 210 0 1月 13 00:35 a
可以看到新建的文件的uid和gid都是210.
3、將/home/tom目錄僅共享給192.168.217.133這臺主機(jī),并只有用戶tom可以完全訪問該目錄
服務(wù)端:
把共享文件的所屬用戶和所屬組改為tom即可
[root@server home]# useradd tom 新建一個(gè)tom用戶
[root@server home]# vim /etc/exports 編輯配置文件添加這一行
/nfs/tom 192.168.217.133/24(rw)
[root@server home]# exportfs -ra 重載配置
[root@server home]# showmount -e
Export list for server:
/nfs/shared *
/nfs/tom 192.168.217.133/24
/nfs/upload 192.168.217.0/24
客戶端:
我們先使用fox用戶看看是否可以完全訪問tom目錄很明顯是不可以的文章來源:http://www.zghlxwxcb.cn/news/detail-793581.html
[root@Node1 test]# ll
總用量 0
drwxr-xr-x. 2 root root 96 1月 13 23:52 shared
drwxr-xr-x. 2 2101 2101 6 1月 13 00:35 tom
drwxr-xrwx. 2 root root 90 1月 13 00:35 upload
[root@Node1 test]# su fox
[fox@Node1 test]$ cd tom/
[fox@Node1 tom]$ touch a
touch: 無法創(chuàng)建 'a': 權(quán)限不夠
創(chuàng)建tom用戶切換后嘗試:文章來源地址http://www.zghlxwxcb.cn/news/detail-793581.html
[root@Node1 tom]# useradd -u 2101 tom
[root@Node1 tom]# su tom
[tom@Node1 tom]$ touch b
[tom@Node1 tom]$ ll
總用量 0
-rw-rw-r--. 1 tom tom 0 1月 13 00:35 b
-rw-r--r--. 1 root root 0 1月 13 00:35 tom1
-rw-r--r--. 1 root root 0 1月 13 00:35 tom2
[tom@Node1 tom]$
到了這里,關(guān)于linux主機(jī)搭建NFS服務(wù)器的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!