nfs服务权限配置

一、 查看系统是否已经安装了服务
Rpm -qa | grep nfs
二、 启动服务,而且开机自动运行
Systemctl start nfs
Systemctl enabled nfs
三、 配置NFS服务
(1) 建立共享文件,并在问价加下建立一个文档
Mkdir /share/webs
Echo “this is nfs” > nfs.txt
(2) 配置nfs服务的配置文件
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用户的权限
四、 下面经过实例来分析这几个权限
(1) 将共享目录/share/webs设为全部用户只读权限访问
修改配置文件
nfs服务权限配置
重启服务
nfs服务权限配置
客户端验证
nfs服务权限配置
nfs服务权限配置
验证是否能够写入
nfs服务权限配置
(2) 将共享目录/share/webs2设置为192.168.80.0/24用户能够有读写权限
修改配置文件,添加一行;并建立共享目录
nfs服务权限配置
nfs服务权限配置
客户端验证
nfs服务权限配置
这里为何提示权限不够,咱们明明给了能够写入的权限?
由于nfs服务配置中,为了安全考虑,服务默认会将访问的root用户权限压缩为nfsnobody用户权限。可是对于这个用户,在共享目录的权限是没有写入的。
nfs服务权限配置
因此当咱们去写入一个文件的时候,对于这个目录来说,用户nfsnobody用户没有写入的权限。因此才会出现错误提示。
解决方法:给目录的其余用户权限加上能够写入的权限(还有更好的方法,一会了解)
nfs服务权限配置
nfs服务权限配置
哎,这下建立成功。
(3) 综合分析no_root_squash | root_squash | all_squall权限带来的安全问题web

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

接下来表演一波,取消root_squash的权限,使用no_root_squash权限,即便共享目录没有写入的权限,我照样可以写入文件。
修改配置文件添加no_root_squash权限
nfs服务权限配置
清除共享文件写入权限
nfs服务权限配置
重启服务,客户端验证
nfs服务权限配置
事实证实,目录没有写入权限仍然能够建立文件
你说这和安不安全有什么区别吗?注意了,通常共享目录都会有写入权限,固然就可已删除。例如一个搞破坏的人拥有了这样的权限,直接把全部共享文件删了,那就凉凉了。
nfs服务权限配置
因此当咱们设置一个nfs服务的时候,切记不能使用no_root_squash权限。最好能使用root_squash和all_squash权限。
All_squash权限是将全部的访问用户都压缩为nfsnobody用户权限。
固然出于对目录安全的考虑,咱们可还能够将共享目录的全部者,所属组设为nfsnobody。
这样无论你是用什么用户访问,若是不被压缩为nfsnobody用户,是没有办法在这个用户下作任何操做。固然前提不要加入no_root_squash权限。ide

相关文章
相关标签/搜索