NFS
1 前言
一个问题,一篇文章,一出故事。
笔者需要在RHEL 8.x中配置NFS服务,于是整理此文。
2 实操部分
2.1 环境信息
NFS服务端,
OS = RHEL 8.x x86_64
Host Name = sftp.cmdschool.org
IP Address = any
NFS客户端,
OS = Linux
Host Name = client.cmdschool.org
IP Address = 10.168.0.8
2.2 配置NFS服务
2.2.1 安装软件包
dnf install -y nfs-utils acl
2.2.2 启动服务并配置自启动
systemctl start nfs-server.service systemctl enable nfs-server.service systemctl status nfs-server.service rpcbind.service rpc-statd
2.2.3 开放服务防火墙
firewall-cmd --permanent --add-service mountd firewall-cmd --permanent --add-service rpc-bind firewall-cmd --permanent --add-service nfs firewall-cmd --reload firewall-cmd --list-all
如果你需要确定以上命令的实际端口,请使用如下命令,
egrep "^mountd |^sunrpc |^nfs " /etc/services
可见如下显示,
sunrpc 111/tcp portmapper rpcbind # RPC 4.0 portmapper TCP sunrpc 111/udp portmapper rpcbind # RPC 4.0 portmapper UDP nfs 2049/tcp nfsd shilp # Network File System nfs 2049/udp nfsd shilp # Network File System nfs 2049/sctp nfsd shilp # Network File System mountd 20048/tcp # NFS mount protocol mountd 20048/udp # NFS mount protocol
2.2.4 配置nfs分享的目录
vim /etc/exports.d/client.cmdschool.org.exports
加入如下配置,
/data/sftp/sftpUser01/myhome *(rw,sync,all_squash)
另外,如果你需要限定某些IP可以访问,你可以按如下格式书写,
/data/sftp/sftpUser01/myhome 10.168.0.8/32(rw,sync,all_squash)
根据配置的需求,你需要执行如下命令设置目录的权限,
# 给nobody用户配置目录的读+执行权限(核心,允许访问目录) setfacl -m u:nobody:rx /data/sftp/sftpUser01/myhome # 给nobody用户配置目录下所有文件的读权限(确保能读取日志) setfacl -m u:nobody:r /data/sftp/sftpUser01/myhome/* # 递归配置ACL(确保新增文件也继承只读权限) setfacl -Rm u:nobody:rx /data/sftp/sftpUser01/myhome # 设置默认ACL(新创建的文件/子目录自动继承) setfacl -m d:u:nobody:rx /data/sftp/sftpUser01/myhome
配置修改后,你需要重启服务才能使配置生效,
systemctl restart nfs-server
2.3 测试nfs服务
showmount -e sftp.cmdschool.org
参阅文档
====================
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/deploying_different_types_of_servers/deploying-an-nfs-server_deploying-different-types-of-servers#doc-wrapper
没有评论