NFS 目的是让不同计算机不同操作系统之间可以彼此共享文件。
采用服务器/客户端工作模式
在NFS服务器上将目录设置为输出目录(共享目录)后,客户端就可以将这个目录挂载到自己系统中的某个目录下。
什么是RPC守护进程
使用NFS服务,至少需要启动以下3个系统守护进程。
rpc.nfsd :它是基本的NFS守护进程,主要功能是管理客户端是否能够登入服务器。
rpc.mountd :它是RPC安装守护进程,主要功能是管理NFS的文件系统。
当客户端顺利通过rpc.nfsd登录NFS服务后,在使用NFS服务所提供的文凭前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
rpc.portmap:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务。
软件名:nfs-utils*
安装前要挂载源 mount /dev/sr0 /mnt
yum -y install nfs-utils*
rpm -qa | grep nfs
文章来源地址https://uudwc.com/A/eg8N
NFS服务的配置文件
NFS服务器共享目录时所使用的配置文件为/etc/exports,
此文件的语法结构如下:
共享目录的绝对路径 客户端(选项)
例:/share 192.168.0.0/24(ro)
NFS服务的启动
启动rpc守护进程
systemctl start rpcbind
启动或重启nfs服务
systemctl restart nfs
exportfs -r(重读/etc/exports文件)验证文件是否正确
NFS服务器共享目录时所使用的配置文件为/etc/exports
共享目录的绝对路径 客户端1(选项) 客户端2(选项)......
NFS服务器在共享一个目录的时候,客户端定义只允许哪些主机可以来访问此共享目录。
NFS服务器在共享一个目录的时候,还可以设定许多共享选项,包括访问目录时的权限选项、用户映射选项以及其它访问选项。
权限的选项:当客户端在挂载NFS服务器共享的目录时,会根据NFS服务器的权限选项来决定以只读方式或读写方式来挂载文件系统
·NFS用户映射选项:NFS客户端在访问服务端共享的目录时,访问的用户可以映射为一个权限很低的普通或系统用户。这样可以增强访问的安全性。
NFS其他访问选项
Sync同步
Async异步
使用showmount命令测试NFS服务器的输出目录状态
showmount命令的基本格式为:
showmount [选项] NFS服务器名称或地址
-e:显示指定的NFS服务器上所有输出的共享目录。
例: showmount -e 192.168.1.200
通过挂载来访问NFS共享目录
mount NFS服务器上共享目录 客户端本地挂载目录
mount 192.168.1.200:/share /mnt/nfs
在局域网内搭建一个共享服务器NFS,使linux客户端的主机192.168.100.129能以root身份自动访问共享资源,并能在共享目录里创建文件。将客户端文件/aaa分享给服务端
分析:
NFS服务端
安装NFS服务
配置NFS主配置文件/etc/exports /share 192.168.1.12(rw,no_root_squash)
重启服务,设置防火墙
NFS客户端
网络配置,查看局域网中的共享资源
挂载共享目录
服务端
systemctl stop firewalld
setenforce 0
mount /dev/sr0 /mnt
yum -y install nfs-utils*
rpm -qa | grep nfs
vi /etc/exports
/ceshi 192.168.100.129(rw,no_root_squash)
systemctl start rpcbind
systemctl start nfs
exportfs -r
客户端
mount 192.168.100.128:/ceshi /guazai
touch aaa
showmount(需要安装nfs)
autofs按需挂载(自动文件系统)
* autofs挂载机制
-只要访问挂载点,即触发挂载策略,自动挂载指定设备
-闲置超时(默认5分钟)后,自动卸载已挂载设备
* 环境条件
-已安装autofs 软件包,启动autofs服务
-配置有监控目录(挂载点的父目录)、设备挂载策略
autofs监控配置
主配置文件/etc/auto.master
-监控目录 设备挂载策略文件
[root@svr5~]# grep -v '^#' /etc/auto.master
.. ..
/misc /etc/auto.misc
/misc期望出现的挂载点目录所在的父目录,
不可以直接使用/目录来作为父目录(权限不足)
/etc/auto.misc挂载策略文件的名称、路径可自定义
autofs挂载策略
挂载策略文件,比如/etc/auto.misc
-挂载点目录名 -挂载参数 目标主机IP:共享目录
[root@svr5~]# grep -vE '^#|^S'/etc/auto.misc
cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
cd 有用户或程序需要访问目录/misc/下名为cd的子目录时,
autofs自动创建此挂载点,并将设备/dev/cdrom挂载到/misc/cd
客户端实现NFS自动挂载共享目录192.168.100.100:/ceshi 到 本地 /share/nfs/
安装软件autofs
修改监控文件/etc/auto.master
最后一行: /share /etc/auto.misc(策略文件)
修改策略文件 /etc/misc
添加一行: nfs -fstype=nfs4 192.168.100.100:/ceshi
重启服务:systemctl start autofs
测试方式:df -hT 查看共享目录是否挂载 切换到/share/nfs后 再查看共享目录是否挂载,挂载成功,则证明服务配置正确生效
任务一:公司现在计划搭建一台NFS服务器,服务器的IP地址为192.168.100.254,要求如下所示:
- 共享文件夹/nfs/market 可以供子网192.168.185.0/24的客户端访问,具有读写功能,其他子网只能读取
/nfs/market 192.168.185.0/24(rw) *(ro)
- 共享文件夹/nfs/sales只允许IP为192.168.16.20的主机访问,可以读写
/nfs/sales 192.168.16.20(rw)
- 共享文件夹/nfs/root,允许.lenovo.com这个域中的所有客户端访问,只有读的权限,但是不将root用户映射为匿名用户
/nfs/root *.lenovo.com(ro,no_root_squash)
- 共享目录/share/cdrom,网段为192.168.10.0/24 的子网中的用户均具有读写权限
/share/cdrom 192.168.10.0/24(rw)
5)配置10网段中主机自动挂载
vi /etc/auto.master
/share /etc/auto.misc
vi /etc/misc
nfs -fstype=nfs4 192.168.10.0:/ceshi
任务二、构建一台NFS服务器,并按照以下要求配置输出目录
- 开放/nfs/shared目录,使所存用户都可以查看其中的资料
/nfs/shared *(ro)
- 开放/nfs/upload目录,作为192.168.10.0/24网段的主机可以上传目录,并将所有的用户及所属的用户组都映射为upload用户,其UID为210,GID为210
创建用户 useradd -u 210 upload
/nfs/upload 192.168.10.0/24(rw,anonuid=210)
- 将/home/tom目录共享给192.168.10.20这个主机,并且只有root用户可以访问这个目录
chmod 700 /home/tom
Chown root:root /home/tom
/home/tom 192.168.10.20(ro,no_root_squash)
(4)使用客户端主机挂载连接访问nfs.上的共享资源
任务三:现在企业内部有一台NFS服务器,IP为192.168.10.254,存在一个Linux客户端,IP为192.168.10.100,现在根据企业实际生产需求,需要进行如下配置:
1.将/root 目录共享给192.168.10.100,客户端对共享目录可读写,并采用同步方式传输数据,允许客户端以root用户访问
2.将/usr/src目录共享给192.168.10.0/24网段的主机,客户端可读可写,但是不能删除文件,并采用异步方式传输数据
3.在以上要求的基础上实现客户端的所有用户身份都映射为匿名用户文章来源:https://uudwc.com/A/eg8N