NFS挂载

账号服务器使用autofs自动挂载NFS共享的家目录

  • 两台主机,一台提供用户账号信息,一台主机通过NFS共享提供家目录
  • 用户账号服务器 192.168.198.130
  • NFS服务器 192.168.198.10

NFS服务器共享家目录

[root@danran ~]# setenforce 0
[root@danran ~]# iptables -F
[root@danran ~]# mkdir /app/homedir/user{1,2} -p 
[root@danran ~]# tree /app/homedir/
/app/homedir/
├── user1
└── user2

为了使用户服务器上的用户有权限访问NFS上的对应家目录,故在NFS服务器上创建与用户服务器上相同的用户且用户UID一致,家目录为/app/homedir,则远程用户就可以跟本地用户对家目录拥有相同的权限
[root@danran homedir]# useradd -u 2000 -d /app/homedir/user1 -s /sbin/nologin user1 \\用户user1的UID等同于用户服务器上user1用户的UID
[root@danran homedir]# useradd -u 2001 -d /app/homedir/user2 -s /sbin/nologin user2 \\用户user2的UID等同于用户服务器上user2用户的UID
[root@danran homedir]# ll
total 0
drwx------. 3 user1 user1 78 Aug 12 19:52 user1
drwx------. 3 user2 user2 78 Aug 12 19:51 user2
[root@danran homedir]# vim /etc/exports
    /app/homedir  192.168.198.130(rw) \\将/app/homedir目录以只读的方式共享给192.168.198.130主机访问
[root@danran homedir]# systemctl restart nfs-server
[root@danran user1]# touch user1 \\在user1目录下创建user1文件
[root@danran user2]# touch user2 \\在user2目录下创建user2文件

用户服务器 192.168.198.130

[root@danran ~]# showmount -e 192.168.198.10 \\查看192.168.198.130共享的目录
Export list for 192.168.198.10:
/app/homedir 192.168.198.130[root@danran ~]# useradd -u 2000 user1  \\创建UID 2000的user1用户
[root@danran ~]# useradd -u 2001 user2 \\创建UID为2001的user2用户

实验自动挂载NFS家目录
[root@danran ~]# yum -y install autofs
[root@danran ~]# vim /etc/auto.master \\子配置文件定义为/etc/nfsauto.misc,为避免影响原有/home目录下的其他本地用户使用家目录,故使用绝对路径定义
    /-      /etc/nfsauto.misc
[root@danran ~]# vim /etc/nfsauto.misc
    /home/user1     -fstype=nfs,vers=3   192.168.198.10:/app/homedir/user1 \\将192.168.198.10主机的/app/homedir/user1目录以NFS类型挂载,版本指定为3挂载到本地的/home/user1目录
    /home/user2     -fstype=nfs,vers=3   192.168.198.10:/app/homedir/user2 \\将192.168.198.10主机的/app/homedir/user2目录以NFS类型挂载,版本指定为3挂载到本地的/home/user2目录
[root@danran ~]# systemctl restart autofs \\重新启动autofs

切换user1、user2用户测试挂载家目录是否成功

切换user1用户
[root@danran ~]# su - user1
[user1@danran ~]$ ls
user1

切换user2用户
[root@danran ~]# su - user2
[user2@danran ~]$ ls
user2

实现NFS伪根挂载

  • NFS服务器 192.168.198.10
  • 客户挂载服务器 192.168.198.130

NFS服务器 192.168.198.10

[root@danran ~]# mkdir /app/{read,write} \\创建共享目录
[root@danran ~]# ls /app/
homedir  read  write
[root@danran ~]# vim /etc/exports
    /app/  192.168.198.130(rw,fsid=0,crossmnt) \\共享NFS伪根目录为/app
    /app/read   192.168.198.130(ro) //只读方式共享
    /app/write  192.168.198.130(rw)共享 \\读写方式
[root@danran ~]# exportfs -r
[root@danran ~]# exportfs -v
/app            192.168.198.130(rw,wdelay,crossmnt,root_squash,no_subtree_check,fsid=0,sec=sys,rw,secure,root_squash,no_all_squash)
/app/read       192.168.198.130(ro,wdelay,root_squash,no_subtree_check,sec=sys,ro,secure,root_squash,no_all_squash)
/app/write      192.168.198.130(rw,wdelay,root_squash,no_subtree_check,sec=sys,rw,secure,root_squash,no_all_squash

授予远程用户对共享目录的权限
因为没有设置特性远程用户映射,故所有的远程用户都自动映射为了nfsnobody匿名用户,故添加nfsnobody用户对共享目录的写权限
[root@danran ~]# setfacl -m u:nfsnobody:rwx /app/write

客户端挂载NFS共享目录

[root@danran ~]# mkdir /app/nfsdir
挂载共享的根目录/app
[root@danran app]# mount 192.168.198.10:/ /app/nfsdir    
[root@danran app]# cd /app/nfsdir
[root@danran nfsdir]# ls
homedir  q  read  write
[root@danran nfsdir]# cd write/
[root@danran write]# touch danran
[root@danran write]# cd ../read/
[root@danran read]# touch danran
touch: cannot touch ‘danran’: Permission denied

你可能感兴趣的:(NFS挂载)