Chinaunix首页 | 论坛 | 博客
  • 博客访问: 389727
  • 博文数量: 67
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1741
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-21 22:46
文章分类
文章存档

2014年(22)

2013年(45)

分类: 网络与安全

2014-07-19 12:14:14

NFS简介:

NFS是Network File System的简写,即网络文件系统.

网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与他人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。

好处:本地使用更少的磁盘空间

组成:至少两个部分组成:一台服务器和一台(或更多客户机)。客户机远程访问存在服务器上的数据。

 

实验环境:准备两台虚拟机

虚拟机一:NFS服务器  IP地址:192.168.4.254

虚拟机二:客户端      IP地址:192.168.4.6

实验目的:

一:将服务器中root目录用NFS共享给客户端,使客户端root用户使用默认权限查看共享

的root目录

//搭建NFS共享所需的软件包

[root@dhcpsvr ~]# rpm -q nfs-utils  

nfs-utils-1.0.9-66.el5

[root@dhcpsvr ~]# rpm -q portmap

portmap-4.0-65.2.2.1

[root@dhcpsvr ~]# vim /etc/exports    //设置共享的配置文件

[root@dhcpsvr ~]# cat /etc/exports

/root   192.168.4.6(rw,sync)         //共享目录/root 权限可读,同步写入

//重新启动服务

[root@dhcpsvr ~]# service portmap restart   

[root@dhcpsvr ~]# service nfs restart

//在服务器中查看服务端的共享列表

[root@dhcpsvr ~]# showmount –e    //如果查看不了可跟服务器的IP地址或在hosts文件中

Export list for dhcpsvr:                            添加一条IP地址和主机名

/root 192.168.4.6

客户端测试:  //客户端只需按照portmap软件包

[root@pc205 ~]# rpm -q portmap

portmap-4.0-65.2.2.1

[root@pc205 ~]# service portmap restart

在客户端查看共享列表:

[root@pc205 ~]# showmount -e 192.168.4.254

Export list for 192.168.4.254:

/root 192.168.4.6

[root@pc205 ~]# mkdir /mnt/nfsdir

[root@pc205 ~]# mount 192.168.4.254:/root /mnt/nfsdir/   //将其挂载到本地

[root@pc205 ~]# ls /mnt/nfsdir/

ls: /mnt/nfsdir/: 权限不够

//总结:搭建NFS时,服务端需要安装两个软件包(nfs共享软件包,portmap辅助软件包),客户端只需安装辅助软件包。将其挂载到本地,测试访问时,显示权限不够,这是因为将本地的root用户的权限降为nfsnobody,所以本地root用户没有权限对此共享的文件做任何操作。

       措施:修改设置共享的配置文件添加一条权限

二:基于上一个实验做以下配置添加no_root_squash权限,再次查看共享的root目录

服务端:

[root@dhcpsvr ~]# vim /etc/exports

[root@dhcpsvr ~]# cat /etc/exports

/root   192.168.4.6(rw,sync,no_root_squash)    //添加一条保留root用户的权限

[root@dhcpsvr ~]# exportfs –rv                //重新发布给客户端

exporting 192.168.4.6:/root

客户端在次查看:

[root@pc205 ~]# cd /mnt/nfsdir/

[root@pc205 nfsdir]# ls

abcdefghigk.txt  Desktop      install.log.syslog

anaconda-ks.cfg  install.log  RECOVERED_FILES

 

squash相关权限验证

** 对于客户机的root来说,NFS服务器默认就将其视为nfsnobody

         取消方法:添加 no_root_squash

** 对于客户机的普通用户来说,NFS服务器不做squash处理

         取消方法:添加 all_squash

1,  在服务端新增共享/part

[root@svr3 ~]# mkdir -m 777 /part    //创建共享文件权限任何用户可读可写可执行

[root@svr3 ~]# vim /etc/exports     //通过NFS共享

[root@svr3 ~]# cat /etc/exports  | tail -1

/part   192.168.4.0/24(rw)     //只允许4.0网段可读可写

[root@svr3 ~]# exportfs –rv     //重新发布共享列表

2,  客户端测试

[root@svr1 ~]# mkdir /mnt/nfsdir2

[root@svr1 ~]# mount 192.168.4.254:/part /mnt/nfsdir2   //将共享挂载到本机

[root@svr1 ~]# su – zhangsan     //普通用户测试

[zhangsan@svr1 ~]$ cd /mnt/nfsdir2  

[zhangsan@svr1 nfsdir2]$ touch zhs.txt

[zhangsan@svr1 nfsdir2]$ ll zhs.txt      //查看属主属于zhangsan

-rw-rw-r-- 1 zhangsan zhangsan 0 07-15 19:53 zhs.txt

在服务端查看

//设置一个用户lisi的id与zhangsan的Id相同,查看zhangsan创建的文件的属主改成lisi

[root@svr3 ~]# ll /part/zhs.txt

-rw-rw-r-- 1 lisi lisi 0 07-15 19:53 /part/zhs.txt

在服务端修改NFS共享设置:

[root@svr3 ~]# vim /etc/exports

[root@svr3 ~]# cat /etc/exports | tail -1

/part   192.168.4.0/24(rw,all_squash)   //在共享中添加一条将所有访问的用户都降为nfsnobody

[root@svr3 ~]# exportfs -rv

客户端测试:

[zhangsan@svr1 nfsdir2]$ cd /mnt/nfsdir2

[zhangsan@svr1 nfsdir2]$ touch zhs-new.txt

[zhangsan@svr1 nfsdir2]$ ls -lh zhs-new.txt

-rw-rw-r-- 1 nfsnobody nfsnobody 0 07-15 19:57 zhs-new.txt   //用户zhangsan创建的文件的属主已经降为nfsnobody

服务端测试

[root@svr3 ~]# ll /part/zhs-new.txt

-rw-rw-r-- 1 nfsnobody nfsnobody 0 07-15 19:57 /part/zhs-new.txt

 

//总结:影响权限的两个方面:

        目录的文件系统权限(rwx,acl)和NFS共享权限
阅读(2269) | 评论(0) | 转发(0) |
0

上一篇: Linux线程

下一篇:没有了

给主人留下些什么吧!~~