HDFS权限问题以及伪造用户(11)
之前在谈到HDFS常用命令的时候,说过hdfs的文件权限验证与linux系统的类似,但hdfs的文件权限需要开启之后才生效,否则在HDFS中设置权限将不具有任何意义!而在设置了权限之后,正常的HDFS操作可能受阻,这种情况下我们就需要伪造用户!本篇博客,小菌将为大家带来关于HDFS权限问题以及伪造用户的相关内容!
首先我们需要先停止集群,在node01机器上执行以下命令
cd /export/servers/hadoop-2.6.0-cdh5.14.0
sbin/stop-dfs.sh
- 1
- 2
然后修改node01机器上的hdfs-site当中的配置文件
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim hdfs-site.xml
- 1
- 2
往其中添加如下内容:
<property>
<name>dfs.permissions</name>
<value>true</value>
</property>
- 1
- 2
- 3
- 4
- 5
修改完成之后配置文件发送到其他的机器上去
scp hdfs-site.xml node02:$PWD
scp hdfs-site.xml node03:$PWD
- 1
- 2
重启hdfs集群
cd /export/servers/hadoop-2.6.0-cdh5.14.0
sbin/start-dfs.sh
- 1
- 2
随意上传一些文件到我们Hadoop集群当中准备测试使用!
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
hdfs dfs -mkdir /config
hdfs dfs -put *.xml /config
hdfs dfs -chmod -R 600 /config/
- 1
- 2
- 3
- 4
我们可以看到HDFS的config目录下的所有文件均没有可执行权限!
然后使用代码准备下载文件
@Test
public void getConfig()throws Exception{
FileSystem fileSystem = FileSystem.get(new URI("hdfs://192.168.100.100:8020"), new Configuration());
fileSystem.copyToLocalFile(new Path("/config/core-site.xml"),new Path("file:///f:/core-site2.xml"));
fileSystem.close();
System.out.println("上传成功!");
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
果不其然,发现了程序报错,说没有权限访问。说明我们HDFS的权限校验生效了!这种情况下,我们就需要伪造用户!
如上图所示,伪造用户后我们再运行程序,发现程序运行成功了!
文件也成功下载到了本地!那么本次的分享就到这里了,小伙伴们有什么疑惑或好的建议可以积极在评论区留言,小菌后续还会推出HDFS系列的其他内容,希望大家持续关注小菌ヾ(๑╹◡╹)ノ"!
HDFS系列精彩内容回顾:
《HDFS文件系统介绍(1)》
《HDFS文件读写流程(2)》
《HDFS特性及缺点分析(3)》
《HDFS的高级命令使用——文件限额配置(4)》
《HDFS的安全模式与文件权限检验(5)》
《HDFS中Fsimage,Edits详解(6)》
《HDFS中SecondaryNamenode工作原理(7)》
《HDFS中namenode故障恢复(8)》
《HDFS新增节点与删除节点(9)》
《HDFS的javaAPI操作(10)》
《HDFS的shell常用命令大全》
文章来源: alice.blog.csdn.net,作者:大数据梦想家,版权归原作者所有,如需转载,请联系作者。
原文链接:alice.blog.csdn.net/article/details/102962057
- 点赞
- 收藏
- 关注作者
评论(0)