日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

linux上nfs挂载

發(fā)布時(shí)間:2024/8/26 综合教程 29 生活家
生活随笔 收集整理的這篇文章主要介紹了 linux上nfs挂载 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

環(huán)境準(zhǔn)備

NFS服務(wù)端 CentOS7 192.168.1.11
NFS客戶端 CentOS7 192.168.1.12

安裝NFS與配置

NFS的常用目錄:

/etc/exports        #NFS服務(wù)的主要配置文件
/usr/sbin/exportfs  #NFS服務(wù)的管理命令
/usr/sbin/showmount #客戶端的查看命令
/var/lib/nfs/etab   #記錄NFS分享出來的目錄的完整權(quán)限設(shè)定值
/var/lib/nfs/xtab   #記錄曾經(jīng)登錄過的客戶端信息

服務(wù)端

#CentOS系統(tǒng)服務(wù)端
yum -y install nfs-utils
yum -y install rpcbind 

將服務(wù)加入開機(jī)自啟動(dòng),并啟動(dòng)服務(wù):

systemctl enable rpcbind nfs-server
systemctl start rpcbind nfs-server

查看nfs服務(wù)向rpc注冊(cè)的端口信息(當(dāng)前nfs-server未啟動(dòng),所有沒有注冊(cè)端口):

[root@localhost ~]# rpcinfo -p
program vers proto   port  service
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper

如果此時(shí)啟動(dòng)nfs,可以發(fā)現(xiàn)nfs隨機(jī)注冊(cè)的端口如下(對(duì)于此種情況下,如果未開啟防火墻,隨機(jī)端口是沒有問題的,一旦開啟就需要將端口固定下來了):

[root@localhost ~]# rpcinfo -p
program vers proto   port  service
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100005    1   udp  20048  mountd
100005    1   tcp  20048  mountd
100005    2   udp  20048  mountd
100005    2   tcp  20048  mountd
100005    3   udp  20048  mountd
100005    3   tcp  20048  mountd
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100227    3   tcp   2049  nfs_acl
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100227    3   udp   2049  nfs_acl
100021    1   udp  37045  nlockmgr
100021    3   udp  37045  nlockmgr
100021    4   udp  37045  nlockmgr
100021    1   tcp  39375  nlockmgr
100021    3   tcp  39375  nlockmgr
100021    4   tcp  39375  nlockmgr

防火墻配置

NFS的防火墻很難設(shè)定規(guī)則,除了固定的nfs2049、portmapper111之外, 還有很多不固定的端口是由rpc.mountd, rpc.rquotad等服務(wù)所開啟的。因此我們需要在/etc/sysconfig/nfs指定特定的端口,這樣每次啟動(dòng)nfs時(shí),相關(guān)服務(wù)啟動(dòng)的端口就會(huì)固定,如此即可設(shè)置防護(hù)墻!

固定nfs服務(wù)端口

固定端口nfs 2049、portmapper 111,另外3個(gè)服務(wù)端口可設(shè)置為mountd 892、rpc.statd 662、 nlockmgr 32803、32769

配置:
1.修改/etc/sysconfig/nfs文件,將下列內(nèi)容的注釋去掉,如果沒有則添加:

# TCP port rpc.lockd should listen on.
LOCKD_TCPPORT=32803
# UDP port rpc.lockd should listen on.
LOCKD_UDPPORT=32769

# Port rpc.mountd should listen on.
MOUNTD_PORT=892

# Port rpc.statd should listen on.
STATD_PORT=662
# Outgoing port statd should used. The default is port
# is random
STATD_OUTGOING_PORT=2020

端口配置完成后查看(注意重啟nfs與服務(wù)器):

[root@localhost ~]# rpcinfo -p

CentOS7下配置

編輯文件 /etc/firewalld/zones/public.xml:

#vim /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
  <short>Public</short>
  <description>For use in public areas. You do not trust the other computers on networks to not harm your computer. Only selected incoming connections are accepted.</description>
  <service name="ssh"/>
  <service name="http"/> 
  <service name="https"/> 
  <port protocol="tcp" port="8080"/>
  <port protocol="tcp" port="22"/>
  <port protocol="tcp" port="111"/>
  <port protocol="tcp" port="662"/>
  <port protocol="tcp" port="892"/>
  <port protocol="tcp" port="2049"/>
  <port protocol="tcp" port="32803"/>
  <port protocol="udp" port="111"/>
  <port protocol="udp" port="662"/>
  <port protocol="udp" port="892"/>
  <port protocol="udp" port="2049"/>
  <port protocol="udp" port="32769"/>
</zone>

注意重啟防火墻

創(chuàng)建共享目錄

創(chuàng)建服務(wù)端共享目錄,例如:

mkdir /nfs

NFS共享目錄文件配置

/etc/exports文件內(nèi)容:

#vi /etc/exports
/nfs     192.168.1.76(rw,sync,secure,no_root_squash,no_all_squash)

以上配置分為三個(gè)部分:

第一部分就是本地要共享出去的目錄。
第二部分為允許訪問的主機(jī)(可以是一個(gè)IP,一個(gè)IP段如192.168.0.0/24、192.168.0.0/255.255.255.0,指定域名的主機(jī)www.example.com,指定域中的所有主機(jī).example.com,所有主機(jī))。
第三部分小括號(hào)里面的,為一些權(quán)限選項(xiàng)。權(quán)限說明:

rw :讀寫;
ro :只讀;
sync :同步模式,內(nèi)存中數(shù)據(jù)時(shí)時(shí)寫入磁盤
async :不同步,把內(nèi)存中數(shù)據(jù)定期寫入磁盤中
secure :nfs通過1024以下的安全TCP/IP端口發(fā)送
insecure :nfs通過1024以上的端口發(fā)送
no_root_squash:NFS客戶端連接服務(wù)端時(shí)如果使用的是root的話,那么對(duì)服務(wù)端分享的目錄來說,
            也擁有root權(quán)限。 顯然開啟這項(xiàng)是不安全的
root_squash:當(dāng)客戶端登陸NFS的身份為root用戶時(shí),將客戶端的root用戶及所屬組都映射為匿名用戶
            或用戶組(默認(rèn)設(shè)置), 通常使用nobody或nfsnobody身份
subtree:若輸出目錄是一個(gè)子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限(默認(rèn)設(shè)置)。
no_subtree:即使輸出目錄是一個(gè)子目錄,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率
no_all_squash :無論客戶端登陸NFS的身份為何,都將映射為root用戶(默認(rèn)設(shè)置)
all_squash :不論NFS客戶端連接服務(wù)端時(shí)使用什么用戶,對(duì)服務(wù)端分享的目錄來說都是擁有匿名用戶權(quán)限;
anonuid:匿名用戶的UID值,通常是nobody或nfsnobody,可以在此處自行設(shè)定
anongid:匿名用戶的GID值

配置完成后,重新加載nfs配置(exportfs -rv)或重啟nfs服務(wù)。

exportfs [-aruv]
參數(shù)說明:
-a  全部掛載(或卸載)/etc/exports文件內(nèi)的設(shè)定
-r  重新掛載/etc/exports中的設(shè)置,此外同步更新/etc/exports及/var/lib/nfs/xtab中的內(nèi)容
-u  卸載某一目錄
-v  在export時(shí)將共享的目錄顯示在屏幕上

例如:

[root@localhost /]# exportfs -rv
exporting 192.168.1.12:/nfs

客戶端

#CentOS系統(tǒng)客戶端
yum -y install nfs-utils

掛載NFS共享目錄

1、查看showmount -e IP來查看NFS共享狀態(tài):

[root@localhost /]# showmount -e 192.168.1.11
Export list for 192.168.1.11:
/data 192.168.1.12

2、掛載NFS共享目錄

1)創(chuàng)建服務(wù)端共享目錄,例如:

mkdir /test

2)掛載目錄

#臨時(shí)掛載,即時(shí)生效
mount -t nfs -o nfsvers=3 192.168.1.11:/nfs /test

#配置永久掛載nfs文件系統(tǒng),保存后重啟服務(wù)器即可生效
$ vim /etc/fstab
$ 192.168.1.11:/data /test nfs defaults,nfsvers=3 0 0  

客戶端執(zhí)行nfsstat -m命令,查看當(dāng)前所使用的nfs版本:

[root@localhost ~]# nfsstat -m
/data from 192.168.1.11:/data
 Flags:    rw,relatime,vers=3,rsize=262144,wsize=262144,namlen=255,hard,
 proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.1.60,mountvers=3,
 mountport=892,mountproto=udp,local_lock=none,addr=192.168.1.11

3)查看掛載是否成功:

[root@localhost /]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 994M     0  964M   0% /dev
tmpfs                   100M  8.4M  962M   1% /run
/dev/mapper/centos-root  6.7G  3.5G  2.2G  53% /
/dev/sda1                497M  118M  350M  24% /boot
192.168.1.11:/nfs       6.2G  4.5G  1.2G  72% /test

常用命令

nfsstat

查看NFS的運(yùn)行狀態(tài),對(duì)于調(diào)整NFS的運(yùn)行有很大幫助:

nfsstat -s #查看服務(wù)端的情況
nfsstat -c #查看客戶端的情況

exportfs

啟動(dòng)了NFS之后又修改了/etc/exports,使用exportfs命令來使改動(dòng)立刻生效

rpcinfo

查看rpc執(zhí)行信息,可以用于檢測(cè)rpc運(yùn)行情況的工具

實(shí)例

實(shí)例一

服務(wù)端NFS配置:

#vi /etc/exports
/nfs  192.168.1.12(rw,sync,secure,no_root_squash,no_all_squash)

客戶端創(chuàng)建文件:touch a,客戶端顯示如下:

[root@localhost test]# touch a
[root@localhost test]# ls -al 
total 4
drwxr-xr-x.  2 root root   15 Feb 24 20:52 .
dr-xr-xr-x. 19 root root 4096 Feb 24 20:51 ..
-rw-r--r--.  1 root root    0 Feb 24 20:52 a

服務(wù)端”/data”顯示如下:

[root@localhost /]# ls -al /data
total 0
drwxr-xr-x.  2 root root  15 Feb 24 20:52 .
dr-xr-xr-x. 18 root root 236 Feb 19 00:43 ..
-rw-r--r--.  1 root root   0 Feb 24 20:52 a

實(shí)例二

服務(wù)端NFS配置:

#vi /etc/exports
/data  192.168.1.12(rw,sync,secure,root_squash)

此時(shí)服務(wù)端”/nfs”的權(quán)限:

[root@localhost /]# ls -al | grep nfs
drwxr-xr-x.   2 root root   15 Feb 24 20:52 nfs   

客戶端創(chuàng)建文件:touch b,客戶端顯示如下:

[root@localhost test]# touch b
touch: cannot touch 'b': Permission denied

此時(shí)客戶端是不能創(chuàng)建,主要是因”/nfs”的權(quán)限:所在組group和其他用戶other的權(quán)限不能寫,需要修改權(quán)限:

[root@localhost /]# chmod go+w /nfs
[root@localhost /]# ls -al | grep nfs
drwxrwxrwx.   2 root root   15 Feb 24 20:52 nfs

客戶端再次創(chuàng)建文件:touch b,客戶端顯示如下:

[root@localhost test]# touch b
[root@localhost test]# ls -al 
total 4
drwxrwxrwx.  2 root      root        24 Feb 24 21:03 .
dr-xr-xr-x. 19 root      root      4096 Feb 24 20:51 ..
-rw-r--r--.  1 root      root         0 Feb 24 20:52 a
-rw-r--r--.  1 nfsnobody nfsnobody    0 Feb 24 21:03 b

服務(wù)端”/nfs”顯示如下:

[root@bogon /]# ls -al /nfs
total 0
drwxrwxrwx.  2 root      root       24 Feb 24 21:03 .
dr-xr-xr-x. 18 root      root      236 Feb 19 00:43 ..
-rw-r--r--.  1 root      root        0 Feb 24 20:52 a
-rw-r--r--.  1 nfsnobody nfsnobody   0 Feb 24 21:03 b

實(shí)例三

服務(wù)端NFS配置:

創(chuàng)建group和user 
# groupadd -g 1000 jason
# useradd -u 1000 -g jason -M -s /bin/bash jason
設(shè)置共享目錄權(quán)限
setfacl -m u:jason:rwx /nfs

#vi /etc/exports
/data  192.168.1.12(rw,sync,secure,all_squash,,anonuid=1000,anongid=1000))

此時(shí)服務(wù)端”/nfs”的權(quán)限:

[root@localhost /]# ls -al | grep nfs
drwxr-xr-x.   2 root root   15 Feb 25 12:41 data
[root@localhost /]# getfacl /nfs
getfacl: Removing leading '/' from absolute path names
# file: nfs
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

[root@localhost /]# setfacl -m u:jason:rwx  /nfs
[root@localhost /]# getfacl /data
getfacl: Removing leading '/' from absolute path names
# file: nfs
# owner: root
# group: root
user::rwx
user:jason:rwx #多出來一個(gè)用戶jason的權(quán)限r(nóng)wx
group::r-x
mask::rwx
other::r-x

備注:ACL(Access Control List),主要的目的是在提供傳統(tǒng)的 owner,group,others 的 read,write,execute 權(quán)限之外的細(xì)部權(quán)限配置
1)、setfacl可以更精確的控制權(quán)限的分配
2)、getfacl取得某個(gè)文件/目錄的 ACL 配置項(xiàng)目

客戶端創(chuàng)建文件:touch a,客戶端顯示如下:

[root@localhost test]# touch a
[root@localhost test]# ls -al
total 4
drwxrwxr-x.  2 root  root    15 Feb 25 12:39 .
dr-xr-xr-x. 19 root  root  4096 Feb 24 20:51 ..
#因客戶端也存在uid和gid為1000的jason,所以用戶和組都顯示為jason,否則顯示1000
-rw-r--r--.  1 jason jason    0 Feb 25 12:39 a 

服務(wù)端”/nfs”顯示如下:

[root@localhost nfs]# ls -al
total 0
drwxrwxr-x+  2 root  root   15 Feb 25 12:41 .
dr-xr-xr-x. 18 root  root  236 Feb 19 00:43 ..
-rw-r--r--.  1 jason jason   0 Feb 25 12:41 a     

總結(jié)

以上是生活随笔為你收集整理的linux上nfs挂载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。