NFS = network file system 网络 文件 系统
作用:允许一个系统和他人共享目录和文件。
实验室需要台虚拟机
安装 NFS
[[email protected]# yum install -y nfs-utils rpcbind
rpcbind 是用来进行通信的。
[[email protected] ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 3.7G 14G 22% /
tmpfs 495M 0 495M 0% /dev/shm
/dev/sda1 194M 29M 155M 16% /boot
/dev/sdb5 2.0G 68M 1.9G 4% /mnt
/dev/sdb1 2.0G 74M 1.9G 4% /home/linux/123
启动服务端的服务
以下操作都是在客户端上进行的。
此处以mnt 目录来做实例展示(在另一台机上,楼主的两台机重名了,都是bird)
[[email protected] ~]# showmount -e 192.168.31.170
-bash: showmount: command not found
出现这个报错是因为没有安装 NFS 客户端
[[email protected] ~]# yum install -y nfs-utils #安装NFS 客户端
再次使用 showmount 命令查看
[[email protected] ~]# showmount -e 10.72.4.37
Export list for 10.72.4.37:
/mnt 10.72.4.40
在客户端上进行挂载操作
[[email protected] ~]# mount -t nfs 10.72.4.37:mnt /opt #-t 指定类型
以下操作是服务端上进行的。
查看服务端/mnt 的权限
[[email protected] ~]# ls -ld /mnt
drwxr-xr-x 3 root root 4096 Sep 7 21:28 /mnt
[[email protected] mnt]# chmod 777 . #将权限改为 777,任何用户都可以写
[[email protected] mnt]# ls -ld .
drwxrwxrwx 3 root root 4096 Sep 7 21:28 .
在客户端操作
创建一个1.txt ,属主 和属组 是nfsnobody,这个是黙认的。
------------------------------------------------------
在实际的应用的中是其他的户,是可以通过手工来指定的。
以下test1 为例
[[email protected] opt]# cat /etc/passwd
test1:x:500:500::/home/test1:/bin/bash
[[email protected] mnt]# vim /etc/exports
/mnt 10.72.4.40(rw,sync,all_squash,anonuid=500,anongid=500)
[[email protected] mnt]# exportfs -arv #重启nfs 服务
exporting 10.72.4.40:/mnt
在客户端上进行操作,touch 2.txt ,并没有实现我们要的实验效果,2.txt 的属主和属组是nobody
在客户端上卸载掉 mount ,再重新挂载 nfsvers=3 指定nfs的版本号,黙认是 4.
[[email protected] ~]# umount -l /opt/
[[email protected] opt]# mount -t nfs -onolock,nfsvers=3 10.72.4.37:/mnt/ /opt/
测试,实现实验效果
[[email protected] opt]#mount -t nfs4 10.72.4.37:/mnt/ /opt/
#nfs4 版本会把 所有的用户黙认用户指到 nfsnobody 上。
[[email protected] mnt]# vim /etc/exports #这样的配置限了root 用户
/mnt 10.72.4.40(rw,sync,all_squash,anonuid=500,anongid=500)
改成以为就可不限制 root
/mnt 10.72.4.40(rw,sync,no_root_squash)
[[email protected] mnt]# exportfs -avr #重启服务端服务
exporting 10.72.4.40:/mnt
在客户端进行测试,重新创建的 test 属主&属组都变回了 root