首页 > 技术文章 > NFS服务器搭建

scorpios 2019-08-14 00:15 原文

NFS-网络文件系统,为客户机提供共享使用的文件夹

协议:NFS(TCP/UDP 端口2049)、RPC(TCP/UDP 端口111)

所需要软件包:nfs-utils

系统服务:nfs-server

各部分说明 :          共享目录     被允许的客户端IP(* 表示任意IP都可以)
IP后括号里的设置表示对该共享文件的权限
ro                      只读访问
rw                      读写访问
sync                    所有数据在请求时写入共享
hide                    在NFS共享目录中不共享其子目录
no_hide                 共享NFS目录的子目录
all_squash              共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash           保留共享文件的UID和GID(默认)
root_squash             root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash           root用户具有根目录的完全管理访问权限

 #ro 只读

#rw 读写

#root_squash     当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

#no_root_squash   当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

#all_squash   无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户   

#sync   同时将数据写入到内存与硬盘中,保证不丢失数据

#async   优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

 

detfacl -m u:nfsnobody:rwx /abc  赋予用户nfsnobody多共你想目录abc有读写权限

 

一、具有只读功能的nfs

1、修改配置文件:vim/etc/exports(该文件空文件,需要手动写入配置)

/public  *  (新建的共享文件夹为名字," * "允许所有ip访问该共享文件)

/public  172.25.0.0/24(ro)(新建的共享文件public,只允许172.25.0.0/24该网段以只读的方式访问)

2、保存之后重启服务即可

客户端:

showmount  -e  +(nfs服务器ip)即可查询该服务器共享的文件夹

临时挂载:

3、设置开机自动挂在mount -t nfs 192.168.1.10:/sharedata   /mnt

vim /etc/fatab

172.25.0.11:/public                       /mnt/nfs                  nfs            _netdev         0        0

nfs共享服务器的IP及文件          挂在的本地文件     文件类型     

3、保存之后用mount -a刷新

4、df -h 查看

5、ls /mnt/nfs  参看文件内容

 

二、有读写功能nfs-server服务

(二)root用户下的读写功能

服务端:

1、mkdir /abc

2、vim  /etc/exports

/abc   172.25.0.0/24(rw,no_root_squash)

3、重启服务

客户端:

mkdir /mnt/est

vim /etc/fatab

172.25.0.11:/public                       /mnt/test                  nfs            _netdev         0        0

 

(三)、普通用户实现读写

客户端本地普通用户访问服务端nfs-server服务,服务端会以客户端相同的UID身份的本地用户进行权限判定

服务端:

服务端:

1、mkdir /abc

2、vim  /etc/exports

/abc   172.25.0.0/24(rw,no_root_squash)

法一、客户端和服务端的普通用户的UID值必须一 一对应(适用于普通用户较少的情况)

服务端本地普通用户:useradd -u 1500 dc

在服务端设置普通用户dc对共享文件abc的权限:setfacl -m u:dc:rwx /abc

客户端本地用户:useradd -u 1500 tc

然后在客户端切换到普通用户tc下,对已经挂在的共享目录就有读写权限了,因为服务端的普通用户dc和客户端

普通用户tc的UID值都为1500

 

 

 

windows07挂载:

 

win10:

 

推荐阅读