天天看点

在 CentOS 上安装和配置 NFS 4.0

安装 nfs 服务器所需的软件包:

和安装任何其他服务器软件一样,安装完 nfs 服务后就需要对 nfs 服务进行配置。输出服务器端的某个目录,以便 nfs 客户端能挂载和访问到这个目录:

172.16.20.11 和 172.16.20.12 上面的用户可以挂载 nfs 服务器(172.16.20.1)上的 /bak 目录到自己文件系统里;rw 在这里表示可读可写。

把 nfs 服务加入系统启动脚本并且手动启动 nfs 服务:

确认 nfsv4 服务器成功运行:

检查 nfs 服务器是否输出我们想共享的目录 /bak:

注意 nfs 使用 portmap,而且新版本的 portmap 使用 hosts.deny 和 hosts.allow 文件来控制访问源,修改这2个配置文件以便 nfs 客户端能正常连接到服务器:

首先启动 portmap:

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

使用 mount 挂载服务器端的目录 /bak 到客户端某个目录下:

在 /etc/fstab 中挂载 nfs 文件系统:

在成功挂载服务器端的 /bak 后就可以在客户端里操作了,这时候写文件或者拷贝文件的时候会遇到一个权限问题报错 : permission denied,这是因为上面我们在服务器端建立了 /bak 但是 /bak 的 owner 是 root:root,而客户端的正在访问 nfs 的用户是 vpsee,nfs 要求服务器端和客户端的 uid 和 gid 必须一致,所以要在 nfs 服务器端修改 /bak 的权限和所属:

注意使用 nfs 的时候,客户端的用户 uid 和 gid 必须和服务器端的 uid 和 gid 完全符合,否则会造成权限错误。在小规模用户的情况下,我们可以偷懒通过在客户和服务器两端同时建立相同的用户和组来解决这个问题,但是在大规模用户情况 下最好的办法是利用 nis 或者 openldap 来统一管理用户,做到一次登录,到处访问。

2、如果遇到如下问题,可能是因为你的 mount -t nfs 使用的是 nfsv3 协议,需要明确指出使用 nfsv4 协议挂载 mount -t nfs4:

下一篇: SCP 命令详解

继续阅读