Linux重启nfs出现没有权限,记录nfs的防火墙以及权限问题

在前面的一篇文章(https://www.cnblogs.com/zyxnhr/p/10660431.html)中,已经介绍了nfs的安装挂载使用,但是存在两个问题

一、 防火墙

在nfs和nfs的守护进程rpcbind起来后,会由几个端口,防火墙需要打通,才能是客户端访问

[[email protected] ~]# rpcinfo -p > nfs.txt

[[email protected] ~]# vim nfs.txt

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100005 1 udp 40657 mountd

100005 1 tcp 46458 mountd

100005 2 udp 52413 mountd

100005 2 tcp 53785 mountd

100005 3 udp 60260 mountd

100005 3 tcp 44574 mountd

100003 2 tcp 2049 nfs

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100227 2 tcp 2049 nfs_acl

100227 3 tcp 2049 nfs_acl

100003 2 udp 2049 nfs

100003 3 udp 2049 nfs

100003 4 udp 2049 nfs

100227 2 udp 2049 nfs_acl

100227 3 udp 2049 nfs_acl

100021 1 udp 44067 nlockmgr

100021 3 udp 44067 nlockmgr

100021 4 udp 44067 nlockmgr

100021 1 tcp 44186 nlockmgr

100021 3 tcp 44186 nlockmgr

100021 4 tcp 44186 nlockmgr

但是在重新启动这两个服务后,会发现端口都发生变化

[[email protected] ~]# service rpcbind  restart

[[email protected] ~]# service nfs  restart

[[email protected] ~]# rpcinfo -p

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100005 1 udp 12792 mountd

100005 1 tcp 42422 mountd

100005 2 udp 2212 mountd

100005 2 tcp 31979 mountd

100005 3 udp 5090 mountd

100005 3 tcp 38716 mountd

100003 2 tcp 2049 nfs

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100227 2 tcp 2049 nfs_acl

100227 3 tcp 2049 nfs_acl

100003 2 udp 2049 nfs

100003 3 udp 2049 nfs

100003 4 udp 2049 nfs

100227 2 udp 2049 nfs_acl

100227 3 udp 2049 nfs_acl

100021 1 udp 19191 nlockmgr

100021 3 udp 19191 nlockmgr

100021 4 udp 19191 nlockmgr

100021 1 tcp 34774 nlockmgr

100021 3 tcp 34774 nlockmgr

100021 4 tcp 34774 nlockmgr

这样的的防火墙原先配置开放的端口就会失效,nfs客户端就无法使用nfs

1.1 解决一

根据端口,再次打开新的端口限制,但是不可取

1.2 解决二

固定端口,把端口写进配置文件,每次重启使用固定的端口

[[email protected] ~]# vim /etc/sysconfig/nfs

RQUOTAD_PORT=30001

LOCKD_TCPPORT=30002

LOCKD_UDPPORT=30002

MOUNTD_PORT=30003

STATD_PORT=30004

[[email protected] ~]# rpcinfo -p

program vers proto port service

100000 4 tcp 111 portmapper

100000 3 tcp 111 portmapper

100000 2 tcp 111 portmapper

100000 4 udp 111 portmapper

100000 3 udp 111 portmapper

100000 2 udp 111 portmapper

100005 1 udp 30003 mountd

100005 1 tcp 30003 mountd

100005 2 udp 30003 mountd

100005 2 tcp 30003 mountd

100005 3 udp 30003 mountd

100005 3 tcp 30003 mountd

100003 3 tcp 2049 nfs

100003 4 tcp 2049 nfs

100227 3 tcp 2049 nfs_acl

100003 3 udp 2049 nfs

100003 4 udp 2049 nfs

100227 3 udp 2049 nfs_acl

100021 1 udp 30002 nlockmgr

100021 3 udp 30002 nlockmgr

100021 4 udp 30002 nlockmgr

100021 1 tcp 30002 nlockmgr

100021 3 tcp 30002 nlockmgr

100021 4 tcp 30002 nlockmgr

把这些端口开放,在再起启动,偶不会影响

开放端口

-A INPUT -p tcp -m state --state NEW -m tcp --dport 111 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 2049 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 30002 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 30003 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 30004 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 30001 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 111 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 2049 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 30001 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 30002 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 30003 -j ACCEPT

-A INPUT -p udp -m state --state NEW -m udp --dport 30004 -j ACCEPT

1.3 解决三

直接开放源的网卡端口

-A INPUT -s 客户端IP/32 -i eth0 -j ACCEPT

重启防火墙:

[[email protected] ~]# service iptables  restart

客户端连接

二,权限开了rw,但是客户端依然没有写权限

[[email protected] ~]# vim /etc/exports

/home/data/sharedir 客户端IP(rw,sync,no_root_squash)

客户端写数据

[[email protected] ~]# cd /home/data/www/

[[email protected] www]# touch 111

touch: cannot touch `111‘: Permission denied

查看服务端本文件夹的权限,发现对于其他用户,是没有写权限的

[[email protected] ~]# chmod o+w   /home/data/www/ -R

再次测试,已经可以成功写入

[[email protected] www]# touch 111

[[email protected] www]# ll

-rw-r--r--. 1 root root 0 Apr 16 17:20 111

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值