centos7 安装nfs和设置权限问题

阿里云上给ECS主机新加了一块磁盘,需要挂载到另一个云主机内网,存放系统日志。

阿里云新购买的磁盘时绑定主机的,所以只能通过nfs的方式给挂载到日志主机上面。

一、安装 NFS 服务器所需的软件包:

1
yum  install  -y nfs-utils

二、编辑exports文件,添加从机

1
2
vim  /etc/exports
/logwarehouse 192.168.0.7(rw,all_squash,anonuid=0,anongid=0)

192.168.0.7 机器可以挂载NFS服务器上的/data目录到自己的文件系统中

rw表示可读写;sync表示同步写,(不要包含fsid=0!!!表示将/data找个目录包装成根目录,否则从机切换到非root用户后,再访问挂载后端分区,提示permission denied错误!)具体参数说明点击这里

×××××参数说明

  1. #:允许ip地址范围在192.168.0.*的计算机以读写的权限来访问/home/work 目录。  
  2. /home/work 192.168.0.*(rw,sync,root_squash)  
  3. /home  192.168.1.105 (rw,sync)  
  4. /public  * (rw,sync)  
  5.   
  6. 配置文件每行分为两段:第一段为共享的目录,使用绝对路径,第二段为客户端地址及权限。  
  7. 地址可以使用完整IP或网段,例如10.0.0.8或10.0.0.0/24,10.0.0.0/255.255.255.0当然也可以地址可以使用主机名,DNS解析的和本地/etc/hosts解析的都行,支持通配符,例如:*.chengyongxu.com  
  8.   
  9. 权限有:  
  10. rw:read-write,可读写;    注意,仅仅这里设置成读写客户端还是不能正常写入,还要正确地设置共享目录的权限,参考问题7  
  11. ro:read-only,只读;  
  12. sync:文件同时写入硬盘和内存;  
  13. async:文件暂存于内存,而不是直接写入内存;  
  14. no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。  
  15. root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;  
  16. all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;  
  17. anonuid:匿名用户的UID值,通常是nobody或nfsnobody,可以在此处自行设定;  
  18. anongid:匿名用户的GID值。 

三、启动nfs服务

先为rpcbind和nfs做开机启动:

1
2
systemctl  enable  rpcbind.service
systemctl  enable  nfs-server.service

然后分别启动rpcbind和nfs服务:

1
2
systemctl start rpcbind.service
systemctl start nfs-server.service

确认NFS服务器启动成功:

1
rpcinfo -p

检查 NFS 服务器是否挂载我们想共享的目录 /data:

1
2
3
4
exportfs
#可以查看到已经ok
/data            192.168.0.100
/data            192.168.0.101

四、在从机上安装NFS 客户端

首先是安裝nfs,同上,然后启动rpcbind服务

先为rpcbind做开机启动:

1
systemctl  enable  rpcbind.service

然后启动rpcbind服务:

1
systemctl start rpcbind.service

注意:客户端不需要启动nfs服务

检查 NFS 服务器端是否有目录共享:

1
showmount -e nfs服务器的IP

在从机上使用 mount 挂载服务器端的目录/data到客户端某个目录下:

1
2
3
mkdir  /data
mount  -t nfs4 nfs服务器IP:/     /data
df  -h 查看是否挂载成功

想在客户机上实现开机挂载,则需要编辑/etc/rc.d/rc.local

1
2
3
vi  /etc/rc.d/rc.local
# 加上
mount -t nfs 192.168.0.6:/logwarehouse /logwarehouse

客户端挂载后,写文件时可能会报一个权限问题:Permission denied。

解决这个问题可以修改nfs主服务器/etc/exports文件,改成如下內容:

1
2
3
vi  /etc/exports
# xx请根据下面替换
/data   192.168.0.7(rw, sync ,anonuid=xx,anongid=xx) 


查看服务器uid

1
2
# id root 
uid=0(root) gid=0(root)  groups =0(root)


重新读取NFS配置文件:

1
exportfs -rv

可使用如下命令查看配置

1
exportfs - v

你可能感兴趣的:(linux)