博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hive设置用户名和密码
阅读量:17407 次
发布时间:2019-09-18

本文共 889 字,大约阅读时间需要 2 分钟。

集群使用的是LDAP用户模式进行系统用户的管理,即用户信息由LDAP服务器端维护,集群的Hive结合Ranger,LDAP来进行hive功能的权限控制,今天在使用命令行beeline登陆hive的时候,我的账户test密码已经更新,但是我忘了,直接使用旧密码,发现也可以正常登陆,即

# beeline

beeline>!connect jdbc:hive2://gx-batch-dn-t-2:2181,gx-batch-dn-t-7:2181,gx-batch-dn-t-15:2181/;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2 test test@123

更搞笑的是,我直接使用一个随便值,都能正常登陆到hive中,这对于生产集群是一个非常大的漏洞,其他人可以随意的登陆到系统,修改你的hive表数据,删你的数据等等。

所以hive需要设置登陆,需要提供正常的LDAP用户名已经用户密码才能登陆到系统中,使用自己的hive表。

修改的方式有2种。

1,如果你的集群使用的ambari管理的。那么登陆ambari, HIVE-->配置,在界面里找到如图中的内容:

HiveServer2 Authentication的默认值为NONE,也就意味着不需要验证,只需要提供正确的用户名即可。把它的值改为LDAP,修改为LDAP之后,此时 ambari并不支持你保存这样的修改,你会发现这样的提示:

点击显示详情,内容如下:

也就是说,你要修改为LDAP,你要确认这个hive.server.authentcation.ldap.url是否需要跟着一起修改,把复选框的勾去掉,然后确定即可保存了。

然后你在客户端机器上执行登陆操作(使用错误的密码:),提示如下:

此时使用错误的密码登陆就会失败。当然如果你的集群使用的Kerberos,pam等等,修改为对应的验证方式即可,然后注意下一些依赖的配置是否需要修改。例如文中的:hive.server.authentcation.ldap.url值。

你可能感兴趣的文章
android截屏代码
查看>>
unity NGUI图文混排
查看>>
Unity项目优化
查看>>
Unity3D Shader 入门
查看>>
MSDK手Q邀请透传参数问题:url编解码与base64编解码
查看>>
Unity中C#如何执行cmd命令(System.Diagnostics.Process的使用)
查看>>
C#用正则表达式去匹配被双引号包起来的中文
查看>>
lua table排序
查看>>
Unity发布的ios包在iphone上声音是从听筒里出来的问题
查看>>
UIScrollView复用节点示例
查看>>
Unity 5 AudioMixer
查看>>
Unity 代码混淆: CodeGuard的使用
查看>>
UGUI 列表循环使用
查看>>
使用命令行运行unity并执行某个静态函数(运用于命令行打包和批量打包)
查看>>
web.py框架
查看>>
web.py学习笔记
查看>>
python的代码缩进
查看>>
A* Pathfinding Project (Unity A*寻路插件) 使用教程
查看>>
bash学习笔记
查看>>
sqlite学习
查看>>