前两篇文章我们配置好了LDAP服务端和LDAP客户端。这篇文章将讲述从LDAP客户机服务器上挂载NFS服务器上共享的目录。

1、LDAP服务器上NFS共享配置

1.1 NFS服务也可以单独搭建在另外一台服务器。由于我使用的是虚拟机,所以这里我把NFS服务也部属在LDAP服务器上。

[root@server0 ~]# ls /home/guests/   --查看服务端LDAP用户目录
testldapuser1 testldapuser2 testldapuser4 testldapuser6 testldapuser8
testldapuser10 testldapuser3 testldapuser5 testldapuser7 testldapuser9
[root@server0 ~]# yum install nfs-utils --安装NFS软件包

1.2 添加防火墙策略:

[root@server0 ~]# firewall-cmd --permanent --add-service=nfs
[root@server0 ~]# firewall-cmd --permanent --add-service=rpc-bind
[root@server0 ~]# firewall-cmd --permanent --add-service=mountd
[root@server0 ~]# firewall-cmd --reload

1.3 修改 exports 配置文件:

[root@server0 ~]# vi /etc/exports
/home/guests 192.168.100.0/24(rw)

1.4 exportfs 命令:

[root@server0 ~]# exportfs -rv --使配置文件生效
exporting 192.168.100.0/24:/home/guests
[root@server0 ~]# exportfs -v
/home/guests 192.168.100.0/24(rw,sync,wdelay,hide,no_subtree_check,sec=sys,secure,root_squash,no_all_squash)

1.5 启动相关服务:

[root@server0 ~]# systemctl enable  rpcbind
[root@server0 ~]# systemctl restart rpcbind
[root@server0 ~]# systemctl enable nfs
[root@server0 ~]# systemctl restart nfs
[root@server0 ~]# systemctl status nfs

到此,服务器端就配置完成了。

2、客户端配置

2.1 查看服务端共享:

[root@desktop1 ~]# showmount -e 192.168.100.200   --查看服务端共享,正常显示如下,否则防火墙策略没配置对或服务未正常启动。
Export list for 192.168.100.200:
/home/guests 192.168.100.0/24

2.2 安装必须的软件包:

[root@desktop1 ~]# yum install autofs nfs-utils -y 

2.3 修改主配置文件:

[root@desktop1 ~]# vi /etc/auto.master
/home/guests /etc/auto.guests --加入这一行

说明:
/home/guests       --指定需要把远程服务器上的目录挂载到本地客户端的哪个目录下。
/etc/auto.guests   ---指定挂载时用到的子配置文件名,这是一个映射文件,名字可以随便取,路径也可以随便。

启动autofs.service的时候,会自动创建/home/guests目录。并且autofs服务会一直监控这个目录,只要有用户访问这个目录时,它就会触发 /etc/auto.guests 配置文件。然后根据这个配置文件的内容为用户挂载指定目录。

[root@desktop1 home]# ls
rusky
[root@desktop1 home]# systemctl start autofs.service
[root@desktop1 home]# ls
guests rusky
[root@desktop1 home]# systemctl stop autofs.service --停止autofs服务,guests目录就会自动卸载。
[root@desktop1 home]# ls
rusky

2.4 创建子配置文件:

[root@desktop1 ~]# vi /etc/auto.guests
lxjtest -rw,nfs4 192.168.100.200:/home/guests/lxjtest

说明:

lxjtest:关键字,可随便取
-rw,nfs4: 指定参数,读写、nfs4方式
192.168.100.200:/home/guests/lxjtest :NFS服务器上的目录
意思是说,只要ls 或cd 访问lxjtest,回车后,会自动把NFS服务器上指定的目录挂载到本地,但是,前提要服务器端得有lxjtest这个目录,否则没意义。

我们先看一下服务端 lxjtest 目录,里面创建了一个测试文件lxjtestfile:

[root@server0 ~]# cd /home/guests/
[root@server0 guests]# ls
lxjtest testldapuser1 testldapuser10 testldapuser2 testldapuser3 testldapuser4 testldapuser5 testldapuser6 testldapuser7 testldapuser8 testldapuser9
[root@server0 guests]# ls lxjtest/
lxjtestfile

在客户端测试:

[root@desktop1 guests]# cd lxjtest/ --只要访问关键字lxjtest时,autofs服务就会自动把“192.168.100.200:/home/guests/lxjtest”这个目录挂载过来。
[root@desktop1 lxjtest]# ls
lxjtestfile

这是一种访问型的触发方式。如果用户长时间不使用该目录,默认是五分钟后会自动把该目录卸载。

但是,在LDAP服务上,我们有N多个用户目录(/home/guests/testldapuser*),都需要使用这种访问型的触发方式来挂载指定目录,显然,上边的配置文件是无法满足我们的要求的,因为它只能挂载一个目录过来。所以我们修改配置文件如下:

[root@desktop1 home]# vi /etc/auto.guests
* -rw,nfs4 192.168.100.200:/home/guests/&

* 表示客户端用户访问 /home/guests 目录下的任意内容。比如,我执行命令:ls /home/guests/abcderfg,那么*号就表示abcdefg
& 表示服务器端”192.168.100.200:/home/guests/“目录下的abcderfg。可以这么理解,这两个符号表示不同服务器上的名称一样的文件夹。

2.5 设置开机自启动并重启服务

[root@desktop1 ~]# systemctl enable autofs
[root@desktop1 ~]# systemctl restart autofs

autofs 的优势:
1、设置开机不一定要挂载的目录,当用的时候(访问型的触发方式)才实现自动挂载。
2、如果用户不使用自动挂载的目录,一段时间后,会自动卸载。

测试:

[root@desktop1 home]# systemctl stop  autofs
[root@desktop1 home]# ls
rusky
[root@desktop1 home]# systemctl start autofs --启动后,自动创建guests目录
[root@desktop1 home]# ls
guests rusky
[root@desktop1 home]# cd guests/
[root@desktop1 guests]# ls
[root@desktop1 guests]# su - testldapuser5 ---可以切换到LDAP用户,切换的时候会自动挂载NFS服务器上的用户目录
[testldapuser5@desktop1 ~]$ ls
[testldapuser5@desktop1 ~]$ pwd
/home/guests/testldapuser5
[testldapuser5@desktop1 ~]$ su -
Password:
Last login: Thu Jan 18 11:21:34 CST 2018 from 192.168.100.1 on pts/1
[root@desktop1 ~]# cd /home/guests/
[root@desktop1 guests]# ls testldapuser2
ls: cannot open directory testldapuser2: Permission denied
[root@desktop1 guests]# ls ---ls 访问 testldapuser2 时,也会自动创建testldapuser2目录
testldapuser2 testldapuser5
[root@desktop1 guests]# su - testldapuser2 --切换用户,查看NFS服务器上testldapuser2目录下的文件。
Last login: Wed Jan 17 18:52:02 CST 2018 on pts/0
[testldapuser2@desktop1 ~]$ ls
ldapuser2file
[testldapuser2@desktop1 ~]$

最新文章

  1. python 中文乱码问题
  2. LNMP编译安装基于centos7.2
  3. C#如何在子窗体获取父窗体的实例
  4. 字典树(Trie Tree)
  5. Linux:宿主机通过桥接方式连接的VMware内部Linux14.04虚拟机(静态IP)实现上网方案
  6. 《BI那点儿事》数据流转换——排序
  7. HttpURLConnection请求网络数据的Post请求
  8. HDU 1257 最少拦截系统(贪心)
  9. Java:IO流与IO设备
  10. UITableView beginUpdate和endUpdate使用的前提
  11. How to add alias on Mac(It's common for most system)
  12. 转:支撑Github的开源技术
  13. mysql create routine 权限的一些说明
  14. 两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http
  15. Who Will Win?
  16. Vue-生命周期图示 注解
  17. 记录日常Linux常用软件
  18. NetCore持续踩坑
  19. ElasticSearch 2 (13) - 深入搜索系列之结构化搜索
  20. python的十进制与任意进制的转换

热门文章

  1. Netty Message RefCount
  2. POJO与PO、VO的区别
  3. OpenCV教程(44) harris角的检测(2)
  4. Mockito 中被 Mocked 的对象属性及方法的默认值
  5. RxJava【过滤】操作符 filter distinct throttle take skip first MD
  6. python3 特殊字符处理 \x06\x05\x07
  7. 微信小程序--后台交互/wx.request({})方法/渲染页面方法 解析
  8. 前端开发必备 40款优秀CSS代码编写工具推荐
  9. Is there anyway to discover which ip addresses are connected to the db?
  10. VC++导出具有命名空间的函数