NFS服务器配置

NFS 服务配置

一、 NFS简介

1. 什么是NFS

  1. NFS 可以让 客户端把服务器的共享目录 挂载到本机使用,就像使用本机分区一样

2. RPC服务(远程调用)

  1. NFS 是被RPC服务管理的,所以必须安装RPC的主程序rpcbind

3. NFS端口

  1. NFS 端口 : 2049
  2. RPC端口 : 111
  3. NFS daemon端口 : 随机

4. 与其他的文件服务器对比

服务名称 使用范围 服务器端 客户端 局限性
FTP 内网和公网 win,Linux win,Linux 无法直接在服务器端修改数据
Samba 内网 win,linux win,linux 只能在内网使用
NFS 内网和公网 linux linux(win) 客户端需要挂载使用,对普通用户需要有一定要求

二、 NFS权限说明

1. 权限说明

a. Linux系统目录权限也会生效

b. NFS服务共享权限也会生效

2. 用户身份映射(系统权限)

1. NFS 没有用户登陆认证机制,所以客户端登录到服务器之后,会把客户端的身份映射到服务器端,就会出现四种可能 :

* 第一种
  1. client 和server 上刚好有相同的账号和用户(用户名 和UID 都要相同)
    1. client 用户 可以在server上安装用户权限使用文件
* 第二种
  1. 当client和server 上拥有相同的UID,但是用户名不同
    1. 假设 client 上有 用户aa(UID : 500) ,server 上有用户bb(UID:500) 。 在client 在使用server共享目录时,身份识别为bb
    2. 这种情况尽量避免出现
* 第三种
  1. server 上没有client 的UID
    1. client用户访问server时,server没有此UID,则把此用户自动转变 为nfsnobody(UID:65534) 用户
* 第四种
  1. clinet 上是root使用共享
    1. 默认把root也转变为nfsnobody 。 服务器端可以修改配置文件,容许root访问nfs服务器

三、NFS服务器端设置

1. 服务器端安装

  1. nfs-utils , rpcbind

2. 相关文件

  1. 配置文件 : /etc/exports

3. 服务器端管理

  1. 默认启动,
  2. 手工
    1. service nfs start
    2. service rpcbind start

4. 守护进程

  1. ps aux | grep -E “nfs|rpc”
    1. rpc.rquotad :NFS配额
    2. rpc.mounted : 处理客户端挂载
    3. nfsd : NFS守护进程
    4. rpcbind : RPC守护进程

5. RPC服务注册情况

  1. rpcinfo -p IP或主机名

四、NFS服务器端配置文件

1. 配置文件

  1. /etc/exports
    1. 共享目录 客户端(权限)

2. 可以识别的客户端

  1. 指定IP : 192.167.1.1

  2. 指定网段 : 192.168.1.0/24

    ​ 192.168.44.0/255.255.255.0

  3. 指定主机名 : cjs

  4. 所有主机 : *

3. 常用权限

权限 说明
rw 读写
ro 只读
all_squash 不论登录是谁,都压缩为匿名用户nfsnobody
root_squash 如果是登录是root,压缩为nfsnobody
no_root_squash 容许root身份登录 不推荐
anonuid 所有的登陆用户,不再压缩为nfsnobody,而是压缩指定UID用户
sync 将数据同步写入内存缓冲区与磁盘中,效率低,但是可以保证数据一致性
async 将数据先保存在内容缓冲区汇总,必要时,才写入磁盘

举例1

  1. 任何人可以访问 ,容许root访问

    vi /etc/exports
    	/home/test *(rw,no_root_squash)
    

举例2

  1. 同时共享多个目录

    vi /etc/exports
    /home/test 192.168.1.3(rw,no_root_squash) *(ro)
    /home/soft 192.168.1.0/24(rw)
    

举例3

  1. 匿名用户访问

    vi /etc/exports
    /home/soft
    192.168.1.0/24(rw,all_squash,anonuid=600)
    

4. 常用命令

  1. exportfs 选项
    1. -a 按照配置文件挂载/卸载所有目录
    2. -r 重新挂载
    3. -u 卸载
    4. -v 显示详细信息
  2. 例子
    1. exportfs -arv 重新挂载所有目录,不用重启服务
    2. exportfs -aux 全部且在所有目录

5. showmount 命令

  1. showmount 查看共享目录
    1. showmount -e IP或主机名
    2. -e 查看某个主机的共享目录

五、 NFS客户端使用

1. 需要启动的服务

  1. rpcbind

2. 查看服务器端共享目录

  1. showmount -e 192.168.1.3 (指定IP即可)

3. 把服务器共享目录挂载到本地

  1. mkdir /home/client 建立挂载点
  2. mount -t nfs 192.168.1.3:/home/soft /home/client 挂载到本地使用
  3. mount 查看挂载

4. 卸载

  1. umount /home/client

5. 开机自动挂载

vi /etc/fstab
192.168.1.3:/home/text   /home/client  nfs defaults 0 0

六、权限实验(仅供参考

  1. 可以跟上面的四种可能 去实现 相关的实现

第一种

在这里插入图片描述

第二种

在这里插入图片描述

第三种

在这里插入图片描述

第四种

在这里插入图片描述在这里插入图片描述

posted @ 2019-04-20 12:09  Firewine  阅读(500)  评论(0编辑  收藏  举报