博客
关于我
强烈建议你试试无所不能的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值。

你可能感兴趣的文章
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>
用 LSTM 来做一个分类小问题
查看>>
详解 LSTM
查看>>
按时间轴简述九大卷积神经网络
查看>>
详解循环神经网络(Recurrent Neural Network)
查看>>
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>
PCA 的数学原理和可视化效果
查看>>
机器学习中常用评估指标汇总
查看>>
什么是 ROC AUC
查看>>
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>
用线性判别分析 LDA 降维
查看>>