NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议
通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议
NFS 它是文件系统,是操作系统内核来管理的
在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务
nfs-utils (包括服务器端和客户端) 用于 NFS 共享发布和访问
rpcbind??用于 RPC 支持
手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。
采用TCP/IP传输网络文件; 安全性低 ;简单易操作 适合局域网环境
rpcbind 端口号111(固定) ??nfs端口号不固定
日志:/var/lib/nfs/
/etc/exports
/etc/exports.d/*.exports
?NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率
rpcbind 端口号111(固定) ??nfs端口号不固定
客户端先去找rpcbind rpcbind 告诉客户端端口号
/dir? ? ? ? ? ? ? ? ? *? ? ?
共享目录 ? ? ?共享给哪个主机(权限)
1,网段:
两种掩码格式均支持
?172.18.0.0/16??
172.18.0.0/255.255.0.0
2,? 域名? ? ?
?*.kgc.com
3,*? ? ? ?
指共享所有人
默认选项:(ro,sync,root_squash,no_all_squash)
1,ro,rw
?只读和读写
2,async
异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性
3,?sync(1.0.0后为默认)
同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
4,root_squash (默认)
意思是压榨root
所有客户机root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody
5,no_root_squas
不压榨root
6,all_squash
所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
7,no_all_squash
(默认)保留共享文件的UID和GID
8,anonuid和anongid
指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
1,? ?实验准备:
服务机下载nfs-utils、rpcbind
客户机下载nfs-utils
2,服务机新建一个专门用于共享的文件夹? ? /share? ??
放123.txt
3,手搓?服务机nfs? 的配置文件
4,?启动nfs? 服务? 并重新加载配置文件
5,?去到客户机
showmount? -e? 可显示nfs 服务器 加载的信息
6,? 将服务机? /share? ? 文件夹挂载到? ?/mnt?上
如果想永久挂载需要写道/etc/fstab文件中
此处写错!格式为192.168.217.77:/share
192.168.217.77:/share? ? ? /mnt? ? ? ? ? ? ? ?nfs ? ? ? ? ? ? ? ? ?defaults ? ? _netdev ? ? ? ? ? 0 ? ? ? ? ? ?0
#IP地址:/共享文件名 ? ? ? #挂在点 ? ? ? #文件类型 ? ? ?#权限 ? ? ? ? #没网不加载 ? #不备份 ?#不检查
?
7,?客户机想创建文件,权限拒绝
原因:? /share? ?文件夹的权限不足
? ? ? ? ? ? ?nfs? 软件权限不足
8,在服务机? ? ?给share?文件夹加上权限? ? 让其他客户机(other)可以写入文件
?
并在? 服务机nfs?配置文件? ?加上权限
重新加载配置文件
9,客户机再次写入345.txt? 成功
注意:虽然客户机是root账户? ? ? ?但是文件的属主变成了? nfsnobody? ?(nfs匿名账户)
因为服务机nfs?配置文件有一条默认权限? ? root_squash
即压榨?root用户? ?只要是root用户创建的文件?都变成nfsnobody?
nonuid和anongid? ? ? ?配合all_squash使用
在服务机/data? ?这个共享文件夹? ? ? ?压榨所有的客户机用户,都变成uid?为1003? ?组id为1003?的用户
记得前提:服务机里要有??uid?为1003? ?组id为1003?的用户哦
exportfs:可用于管理NFS导出的文件系统
常见选项:
-v #查看本机所有NFS共享
-r #重读配置文件,并共享目录
-a #输出本机所有共享
-au #停止本机所有共享
常见用法:
showmount -e hostname ?
[root@centos7 ~]#showmount -e 10.0.0.8
Export list for 10.0.0.8:
/data/wordpress *
客户端NFS挂载
NFS相关的挂载选项:man 5 nfs
fg #(默认)前台挂载
bg #后台挂载
hard #(默认)持续请求
soft ??#非持续请求
intr ??#和hard配合,请求可中断
rsize #和wsize 一次读和写数据最大字节数,rsize=32768
_netdev #无网络连接不挂载
vers ???#指定版本,客户端centos8默认4.2 ,centos7默认4.1 centos6默认4.0
实验目的,电脑访问7-1? 7-2看到的内容都是一样的,都是nfs?服务机共享文件夹的内容
这样7-2,7-3? 这两台服务机只需要能接受很多人访问就可以,不需要很多存储空间,网页的内容都由7-1?nfs服务机? 来提供
(一)httpd?原理
?httpd? 主页面在? /var/www/html/
当我们在主页面? ? 写入? hello my son
电脑访问对应ip
1,安装软件
2,创建一个用于做nfs?文件分享
3,?手搓nfs? 配置文件
?
4,?重新加载配置文件? ? 给足权限
?
1,启动httpd?网页服务
2,将? ?7-1的共享文件夹? ? 挂载到? ???httpd? 主页面?/var/www/html/? ??
在共享文件/share? ? ?写入
不论是访问7-2? ?还是7-3? ? 都会显示? ?7-1nfs?服务机的内容