标签:服务 NFS 配置 80.8 nfs 挂载 NFC root 目录
NFC服务配置
概述:NFS全称是network file system
NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。 假如有三台机器A, B, C,它们需要访问同一个目录,目录中都是图片,传统的做法是把这些图片分别放到A, B, C. 但是使用NFS只需要放到A上,然后A共享给B和C即可。访问的时候,B和C是通过网络的方式去访问A上的那个目录的。
一,服务端配置NFC
配置NFC需要安装两个包(nfs-utils和rpcbind)
# yum install -y nfs-utils 当时用yum安装时会同时安装上rpcbind
2,修改配置文件:
提供nfs服务的机器上 vim /etc/exports //加入如下内容:
/home/nfstestdir 192.168.80.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)
共分为三部分,第一部分就是本地要共享出去的目录,第二部分为允许访问的主机(可以是一个IP也可以是一个IP段)第三部分就是小括号里面的,为一些权限选项。它表示:共享的目录为/home/nfstestdir,信任的主机为192.168.80.0/24这个网段,权限为读/写,同步,限定所有使用者,并且限定的uid和gid都为1000。但前提是本机的/etc/passwd中存在相应的uid和gid。
3,编辑好配置文件后创建相关目录并启动NFS服务
创建共享的相关目录:# mkdir /home/nfstestdir
启动NFS服务: # systemctl start rpcbind
# systemctl start nfs
# systemctl enable rpcbind
# systemctl enable nfs
启动NFS之前要先启动rpcbind服务
启动之后查看是否启动:# ps aux |grep nfs
注:第三部分的权限选项
rw :读写;
ro :只读;
sync :同步模式,内存中数据时时写入磁盘;
async :不同步,把内存中数据定期写入磁盘中;
no_root_squash :加上这个选项后,root用户就会对共享的目录拥有至高的权限控制,就像是对本机的目录操作一样。不安全,不建议使用;
root_squash:和上面的选项对应,root用户对共享目录的权限不高,只有普通用户的权限,即限制了root;
all_squash:不管使用NFS的用户是谁,他的身份都会被限定成为一个指定的普通用户身份;
anonuid/anongid :要和root_squash 以及all_squash一同使用,用于指定使用NFS的用户限定后的uid和gid,前提是本机的/etc/passwd中存在这个uid和gid。
如果不加all_squash,anonuid,anongid这些参数会默认以nfsnobody创建文件
二,客户端挂载NFS
1,在客户端(80.9)同样安装NFS:# yum install -y nfs-utils
查看服务器端都共享了哪些目录
服务端(80.8):showmount -e 192.168.80.8
在客户端上挂载服务端的nfs
客户端(80.9): mount -t nfs 192.168.80.8:/home/nfstestdir /mnt/
在客户端上查看挂载的情况: # df -h
可以看到192.168.80.8:/home/nfstestdir 18G 5.9G 12G 33% /mnt 增加了一个/mnt/分区,他就是NFS共享的目录。
2,创建测试文件
# cd /mnt/
# touch test.txt
touch: 无法创建"test.txt": 权限不够
这是因为在服务端(80.8)上创建的/home/nfstestdir目录权限不适合,挂在后相当于被限制为uid为1000的用户,解决该问题需要在服务端(80.8)上修改/home/nfstestdir目录权限。
服务端(80.8):# chmod 777 /home/nfstestdir
然后在客户端上(80.9)创建测试文件
# cd /mnt/
# touch nfstest1.txt
# ls -l
总用量 0
-rw-r--r-- 1 user1 user1 0 5月 3 19:55 nfstest1.txt
# id user1
uid=1000(user1) gid=0(root) 组=0(root)
可以看到在客户端上创建的新文件nfstest1.txt所有者和所属组为user1,其中uid为1000,而gid为0,是因为在本机的/etc/passwd中存在这个uid为1000的用户是user1它的gid为0.
三,命令exportfs
1,常用命令选项
-a :全部挂载或者卸载;
-r :重新挂载;
-u :卸载某一个目录;
-v :显示共享的目录;
2,改变/etc/exports配置文件后,使用exportfs命令挂载不用重启NFS服务。
测试:首先修改服务端(80.8)的配置文件:# vim /etc/exports //增加如下内容
/tmp/ 192.168.80.0/24(rw,sync,no_root_squash)
然后在服务端(80.8)上执行: # exportfs -arv
(exportfs -arv 使修改的生效)
4,用mount命令来挂载NFS时,它要用-t nfs 来指定挂载的类型为nfs。另外在挂载nfs时,常用一个选项就是 -o nolock (即不加锁)
例如在客户端上(80.9)# mkdir /jianglinux
# mount -t nfs -o nolock 192.168.80.8:/tmp/ /jianglinux/
5,还可以把要挂载的NFS目录写到client上的/etc/fstab文件中,挂载时只需要执行mount -a命令。
例如在/etc/fstab文件里增加一行
192.168.80.8:/tmp/ /jianglinux nfs defaults,nolock 0 0
# umount /jianglinux (先卸载之前挂载的)
# mount -a
这样的好处是以后开机会自动挂载NFS。刚刚挂载的/jianglinux 目录在服务端设置为了no_root_squash,它并不会限制root用户,也就是说使用root用户创建文件时,跟客户端本机上创建是一样的。
标签:服务,NFS,配置,80.8,nfs,挂载,NFC,root,目录 来源: https://blog.51cto.com/u_15179358/2754305
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。