暗中观察

CentOS 安装NFS
一.安装服务端服务端:192.168.2.121客户端:192.168.2.116前提:关闭selinux和fir...
扫描右侧二维码阅读全文
11
2019/02

CentOS 安装NFS

一.安装服务端

服务端:192.168.2.121
客户端:192.168.2.116
前提:关闭selinux和firewalld

sed -i s#SELINUX=enforcing#SELINUX=disabled#g /etc/selinux/config
systemctl stop firewalld.service

1.1 安装

yum install nfs-utils rpcbind -y

1.2 配置

systemctl start rpcbind
systemctl status rpcbind
systemctl start nfs
systemctl status nfs
yum install net-tools lsof
lsof -i :111
netstat -lntup|grep rpcbind
rpcinfo -p localhost
ps -ef|egrep "rpc|nfs"

tips:
nfsd(rpc.nfsd)主进程,主要是管理客户端能否登入服务端,登入者ID判别。
mountd(rpc.mountd)管理NFS文件系统,登入者的权限管理
rpc.lockd(非必要)用来锁定文件,用于客户端同时写入
rpc.statd(非必要)检查文件一致性
rpc.idmapd 名字映射后台进程

mkdir -p /data/nfshome
chown nfsnobody:nfsnobody /data/nfshome
echo "/data/nfshome/ 192.168.2.1/24(rw,sync,root_squash)" >> /etc/exports

tips:
ro:目录只读
rw:目录读写
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async:将数据先保存在内存缓冲区中,必要时才写入磁盘
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash:与all_squash取反(默认设置)
root_squash:将root用户及所属组都映射为匿名用户或用户组(默认设置)
no_root_squash:与rootsquash取反
anonuid=xxx:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx:将远程访问的所有用户组都映射为匿名用户组账户

exportfs -rv

tips:
exportfs:NFS服务端发布共享控制命令。
-r:表示重新刷新共享。
-a:表示将配置文件/etc/exports中的所有定义共享发布出去。
-v:显示确认共享设置。
-u:表示不发布共享。

# 查看挂载情况
showmount -e localhost

二.安装客户端

2.1 安装

yum install nfs-utils rpcbind
systemctl start rpcbind
systemctl enable rpcbind
showmount -e 192.168.2.121

2.2 挂载

mkdir -p /data/nfsclient
mount -t nfs -o noexec,nosuid,nodev,rw,rsize=65536,wsize=65536 192.168.2.121:/data/nfshome /data/nfsclient
df -h

三.测试

# 服务端
touch /data/nfshome/1.txt

# 客户端
ls /data/nfsclient

# 卸载挂载
umount /data/nfsclient

tips:
1.配置NFS服务端后,不用重启NFS服务,只要使用exportfs -rv
2.rpc主程序Centos5.8下为portmap 、Centos6.4和Centos7下为rpcbind
3.NFS共享目录不要授权于777权限,可以改所属主和组为nfsnobody,因为nfsnobody权限不是很大,也不能登陆

Last modification:April 4th, 2019 at 01:35 am
If you think my article is useful to you, please feel free to appreciate

Leave a Comment