NFS是被RPC服务管理的,所以必须安装RPC的主程序rpcbind
端口
RPC:111
NFS:2049
NFS daemon:随机
用户身份映射(系统权限)
NFS没有用户登陆认证机制,所以客户端登陆到服务器后,会把客户端身份映射到服务器
- client和server上有相同用户名和UID
- client和server上有相同UID,不同用户名
- server上没有client上的UID,则把此用户转换为nfsnobody,UID为65534
- 默认把root也转变为nfsnobody,可修改server配置文件/etc/exports,添加no_root_squash
NFS主程序:nfs-utils
RPC主程序:rpcbind
yum install -y nfs-utils rpcbind
启动服务:systemctl start nfs rpcbind
守护进程
rpc.mountd:处理客户端挂载
nfsd:NFS守护进程
rpcbind:RPC守护进程
配置文件:/etc/exports
格式:共享目录 客户端(权限)
客户端支持指定ip、网段、主机名和“*”
如: /home/share *(rw,all_squash)
常用权限(使用“,”隔开)
rw:读写(注意共享目录权限)
ro:只读
all_squash:不论登陆是谁,都压缩为匿名用户nfsnobody或anonuid指定用户
root_squash:如果登陆的是root,压缩为nfsnobody
no_root_squash:允许root身份登陆
anonuid=1000:所有登陆用户,压缩为指定uid用户,而不在是nfsnobody
sync:将数据同步写入内存缓冲区和磁盘中
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
exportfs
-a 按照配置文件挂载/卸载所有目录
-r 重新挂载
-u 卸载
-v 详细信息
showmount 查看共享目录
-e ip或主机名 查看其他主机共享目录
把NFS共享目录挂载到本地
yum install -y nfs-utils
mount -t nfs 192.168.200.100:/home/share /home/nfsclient
umount /home/nfsclient #卸载
mount
开机自动挂载
vim /etc/fstab
192.168.200.100:/home/share /home/nfsclient nfs defaults 0 0