nfs服务权限配置

1、 查看系统是否已经安装了服务
Rpm -qa | grep nfs 
2、 启动服务,并且开机自动运行
Systemctl start nfs
Systemctl enabled nfs
3、 配置NFS服务
(1) 创建共享文件,并在问价加下创建一个文档
Mkdir /share/webs
Echo “this is nfs” > nfs.txt
(2) 配置nfs服务的配置文件

文件的每一行定义一个共享目录;
/share/webs这是需要共享的目录
192.168.80.0/24允许访问的客户端,这里表示整个网段的都可以访问,也可以指定单个地址,也可以用星号表示所有用户都可以访问。
(ro,sync)选项用于访问时候的权限,这里指可读权限,并且将数据同步到硬盘。
具体的权限包括以下几种:
Ro 只读权限
Rw读写权限
Sync数据同步写入内存硬盘
no_root_squash 访问共享目录时,用户如果是root权限,对共享目录也具有root权限(最好不要设置,增加服务安全隐患,稍后再提)
root_squash 如果访问共享目录是root的权限用户,对共享目录的权限会被压缩为nfsnobody用户的权
all_squash 不管你访问共享目录的用户是谁,都必须压缩为nfsnobody用户的权限
4、 下面通过实例来分析这几个权限
(1) 将共享目录/share/webs设为所有用户只读权限访问
修改配置文件

重启服务

客户端验证


验证是否可以写入

(2) 将共享目录/share/webs2设置为192.168.80.0/24用户可以有读写权限
修改配置文件,添加一行;并创建共享目录


客户端验证

这里为什么提示权限不够,我们明明给了可以写入的权限?
因为nfs服务配置中,为了安全考虑,服务默认会将访问的root用户权限压缩为nfsnobody用户权限。但是对于这个用户,在共享目录的权限是没有写入的。

所以当我们去写入一个文件的时候,对于这个目录来讲,用户nfsnobody用户没有写入的权限。所以才会出现错误提示。
解决方法:给目录的其他用户权限加上可以写入的权限(还有更好的方法,一会了解)

 
哎,这下创建成功。
(3) 综合分析no_root_squash | root_squash | all_squall权限带来的安全问题

回到我们在实例(2)中,出现权限不足的问题,那就是因为默认设置了root_squash权限,如果客户端root用户进行访问的时候,将root权限压缩为nfsnobody权限。

接下来表演一波,取消root_squash的权限,使用no_root_squash权限,即使共享目录没有写入的权限,我照样能够写入文件。
修改配置文件添加no_root_squash权限

清除共享文件写入权限

重启服务,客户端验证

事实证明,目录没有写入权限仍然可以创建文件
你说这和安不安全有什么区别吗?注意了,一般共享目录都会有写入权限,当然就可已删除。例如一个搞破坏的人拥有了这样的权限,直接把所有共享文件删了,那就凉凉了。

所以当我们设置一个nfs服务的时候,切记不能使用no_root_squash权限。最好能使用root_squash和all_squash权限。
All_squash权限是将所有的访问用户都压缩为nfsnobody用户权限。
当然出于对目录安全的考虑,我们可还可以将共享目录的所有者,所属组设为nfsnobody。
这样不管你是用什么用户访问,如果不被压缩为nfsnobody用户,是没有办法在这个用户下做任何操作。当然前提不要加入no_root_squash权限。

最新文章

  1. dynamic-css 动态 CSS 库,使得你可以借助 MVVM 模式动态生成和更新 css,从 js 事件和 css 选择器的苦海中脱离出来
  2. UIScrollView创建相册
  3. rehat 出现GDB debuginfo-install 问题处理
  4. Centreon 监控报警
  5. android mvvm初探
  6. C#畅谈“网络电视”
  7. for(;;)和 while(1) 有什么区别吗?for()和while()的使用情景。
  8. Android跟蓝牙耳机建立连接有两种方式
  9. 分布式配置管理--百度disconf搭建过程和详细使用
  10. 201521123079《Java程序设计》第2周学习总结
  11. swing 之简单登录窗体实现
  12. Spring Cloud实践:降级、限流、滚动、灰度、AB、金丝雀的实现思路
  13. Matplotlib图例
  14. java-concurrent包
  15. Database First/Code First
  16. pclConfig.cmake or PCLConfig.cmake
  17. ASP.NET MVC缓存使用
  18. Appium基础(三)对象抓取
  19. Java线程池管理及分布式Hadoop调度框架搭建
  20. FrameBot 软件安装测试

热门文章

  1. 读书笔记:Information Architecture for the World Wide Web, 3rd Edition 北极熊 第一部分 1-3
  2. 【bzoj4245】[ONTAK2015]OR-XOR
  3. MessageBox.Show
  4. iOS中打包.a静态库
  5. BZOJ_4802_欧拉函数_MR+pollard rho+欧拉函数
  6. 第七周 Leetcode 466. Count The Repetitions 倍增DP (HARD)
  7. MSD6A628开发资料与技术支持
  8. P2700逐个击破(并查集/树形dp)
  9. 微信小程序setData的使用,通过[...]进行动态key赋值
  10. Linux学习笔记之Linux常用命令剖析-cat/chmod/cd