新聞中心
NFS
NFS(Network FileSystem,網(wǎng)絡(luò)文件系統(tǒng)),最早由Sun公司所發(fā)展出來的,主要是通過網(wǎng)絡(luò)讓不同的主機、不同的操作系統(tǒng),可以彼此分享個別檔案,因此我們也可以簡單把NFS看成是一個文件服務(wù)器。通過NFS我們的PC可以將網(wǎng)絡(luò)端的NFS服務(wù)器分享的目錄掛載到本地端的機器當中,在本地端的機器看起來,遠程主機的目錄就好像是自己的一個磁盤分區(qū)一樣。

創(chuàng)新互聯(lián)公司成立10年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名申請、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。
NFS服務(wù)器與客戶端通過隨機選擇小于1024以下的端口來進行數(shù)據(jù)傳輸,而這個端口的確定需要借助RPC(Remote Procedure Call,遠程過程調(diào)用)協(xié)議的協(xié)助。RPC最主要的功能就是在指定每個NFS服務(wù)所對應(yīng)的port number,并且回報給客戶端,讓客戶端可以連結(jié)到正確的端口上去。當我們啟動NFS服務(wù)時會隨機取用數(shù)個端口,并主動向RPC注冊,因此RPC可以知道每個端口對應(yīng)的NFS,而RPC又是固定使用 port 111監(jiān)聽客戶端的需求并回報客戶端正確的端口。
1. 客戶端向服務(wù)器端的RPC(port 111)發(fā)出NFS的請求;
2. 服務(wù)器端找到對應(yīng)的已注冊的NFS daemon端口后,回報給客戶端;
3. 客戶端知道正確的端口后,直接與NFS daemon聯(lián)機。
實現(xiàn)NFS
實驗環(huán)境
[root@nfs ~]# lsb_release -r
Release: 7.2.1511
[root@nfs ~]# yum -y install nfs-utils
[root@nfs ~]# rpm -qi nfs-utils
Name : nfs-utils
Epoch : 1
Version : 1.3.0
Release : 0.54.el7
Architecture: x86_64
[root@nfs ~]# systemctl stop firewalld
[root@nfs ~]# setenforce 0
[root@nfs ~]# mkdir /nfs_dir
[root@nfs ~]# vim /nfs_dir/welcome
This is NFS test file.
NFS相關(guān)配置
相關(guān)配置文件:
配置文件:/etc/exports
配置文件目錄:/etc/exports.d
NFS服務(wù)的主配置文件為/etc/exports,用于定義共享的目錄以及客戶端的權(quán)限,格式如下:
/PATH/TO/SOME_DIR clients1(export_options,...) clients2(export_options,...)
其中clients支持以下幾種格式:
single host:ipv4,ipv6,F(xiàn)QDN
network:address/netmask
wildcards:主機名通配,例如,*.magedu.com
netgroups:NIS域內(nèi)的主機組,@group_name
anonymous:使用*通配所有主機
export_options的常見參數(shù)可以分為以下兩類:
General Options:
ro:客戶端掛載后,其權(quán)限為只讀,默認選項;
rw:讀寫權(quán)限;
sync:同時將數(shù)據(jù)寫入到內(nèi)存與硬盤中;
async:異步,優(yōu)先將數(shù)據(jù)保存到內(nèi)存,然后再寫入硬盤;
Secure:要求請求源的端口小于1024
User ID Mapping:
root_squash:當NFS客戶端使用root用戶訪問時,映射到NFS服務(wù)器的匿名用戶;
no_root_squash:當NFS客戶端使用root用戶訪問時,映射到NFS服務(wù)器的root用戶;
all_squash:全部用戶都映射為服務(wù)器端的匿名用戶;
anonuid=UID:將客戶端登錄用戶映射為此處指定的用戶uid;
anongid=GID:將客戶端登錄用戶映射為此處指定的用戶gid
更多參數(shù)信息可以通過命令 man exports 查看幫助手冊
配置NFS
[root@nfs ~]# vim /etc/exports
/nfs_dir 192.168.4.*(rw,sync,root_squash)
[root@nfs ~]# systemctl start nfs-server
客戶端測試
#查看nfs能掛載的選項
[root@client ~]# showmount -e 192.168.4.119
Export list for 192.168.4.119:
/nfs_dir 192.168.4.*
[root@client ~]# mount -t nfs 192.168.4.119:/nfs_dir /mnt
[root@client ~]# cd /mnt/
[root@client mnt]# ls
welcome
[root@client mnt]# cat welcome
This is NFS test file.
[root@client mnt]# touch file
touch: cannot touch ‘file’: Permission denied
可以看到無法在共享目錄下創(chuàng)建文件,明明已經(jīng)給分配了rw權(quán)限,這是因為root_squash把我們的訪問權(quán)限壓縮為nobody權(quán)限,自然無法對該目錄進行寫入操作。
對NFS的配置文件重新進行修改:
[root@nfs ~]# vim /etc/exports
/nfs_dir 192.168.4.*(rw,sync,no_root_squash)
#使用exportfs重讀NFS配置,不需要重啟服務(wù)
[root@nfs ~]# exportfs -rv
exporting 192.168.4.*:/nfs_dir
客戶端重新測試:
[root@client mnt]# touch file
[root@client mnt]# ll
total 4
-rw-r--r--. 1 root root 0 Jun 28 14:11 file #可以看到屬主屬組為root
-rw-r--r--. 1 root root 23 Jun 28 11:08 welcome
[root@client mnt]# echo 123 > file
[root@client mnt]# rm file
rm: remove regular empty file ‘file’? y #可以刪除文件
[root@client mnt]# ll
total 4
-rw-r--r--. 1 root root 23 Jun 28 11:08 welcome
很明顯,將客戶端訪問共享文件用戶映射為NFS服務(wù)器上的root是一種不安全的做法,我們可以指定客戶端映射到NFS服務(wù)器的用戶,配置如下:
[root@nfs ~]# useradd nfSUSEr -s /sbin/nologin
[root@nfs ~]# id nfsuser
uid=1003(nfsuser) gid=1003(nfsuser) groups=1003(nfsuser)
[root@nfs ~]# chown -R nfsuser:nfsuser /nfs_dir/
[root@nfs ~]# vim /etc/exports
[root@nfs ~]# cat /etc/exports
/nfs_dir 192.168.4.*(rw,sync,all_squash,anonuid=1003,anongid=1003)
[root@nfs ~]# exportfs -rv
exporting 192.168.4.*:/nfs_dir
客戶端進行測試:
[root@client mnt]# touch file
[root@client mnt]# ll
total 4
-rw-r--r--. 1 1003 1003 0 Jun 28 14:27 file
-rw-r--r--. 1 1003 1003 23 Jun 28 11:08 welcome
[root@client mnt]# echo 123 > file
[root@client mnt]# cat welcome
This is NFS test file.
[root@client mnt]# rm file
rm: remove regular file ‘file’? y
[root@client mnt]# ll
total 4
-rw-r--r--. 1 1003 1003 23 Jun 28 11:08 welcome
當前名稱:基于CentOS7實現(xiàn)的NFS
分享URL:http://www.dlmjj.cn/article/coccpec.html


咨詢
建站咨詢
