好久没有更新,今天内容NFS
一. NFS
NFS简介
NFS全称是network file system
NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。
一.安装和配置NFS(服务端)
首先需要安装两个包(nfs-utils和rpcbind)
yum install -y nfs-utils
yum install -y rpcbind
二.配置NFS
编辑 vim /etc/exports
/home/ 192.168.137.0/24(rw,sync,all_squash,anonuid=501,anongid=501)
加入上面一段内容
先解释一下()内的含义,这里涉及到NFS服务端对客户端用户的压制,也就是权限的设定。
rw 读写
ro 只读
sync 同步模式
async 不同步
all_squash 对所有用户限制,不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份
root_squash 限制超管用户,他的身份都会被限定成为普通用户身份
no_root_squash 限制其他用户,不限制超管(使用时考虑安全)
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
然后看一下 /home/ 192.168.3.0/24 (rw,sync,all_squash,anonuid=501,anongid=501) 这一段(按照自己需求调整权限)
共分为三部分
第一部分就是本地要共享出去的目录 /home/
第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)即 192.168.3.0/24
第三部分就是小括号里面的,为一些权限选项。(上文已经解释)
我在 /etc/exports/ 写入的这一段它表示:共享的目录为/home,信任的主机为192.168.3.0/24这个网段,权限为读写,同步,限定所有使用者,并且限定的uid和gid都为501。
也可以这样写 放开root /home/ 192.168.3.0/24 (rw,sync,no_root_squash)
然后服务端启动 (讲究先后)记得检查一下防火墙里的限制 还有 selinux
/etc/init.d/rpcbind start;
/etc/init.d/nfs start
客户端的配置
1.必须安装 nfs-utils
2.安装完成后可以使用查看命令看一下服务端共享的目录是哪个。
showmount -e 192.168.3.3
3.可以在客户端挂载共享的目录
这个是这样的 mount -t nfs -onolock,nfsvers=3 192.168.3.3:/home /mnt
重点看一下标红的选项,-onolock,nfsvers=3 代表nfsvers 3版本 并且防止锁定
看下图
在客户端上进入挂载的/mnt 下 想随意创建文件 并不成功(看图)
这里由于目录下 属主 属组 都是root 而且由于我们在服务端对所有用户的压制,即使客户端使用root创建也是没有权限的。要么改变压制的用户放开root 要么出于安全考虑调整权限后使用。