在hive中进行撤销角色或者用户权限的问题上出现了如下的错误
Error: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Cannot find privilege Privilege [name=SELECT, columns=null] for Principal [name=zhangsan, type=USER] on Object [type=TABLE_OR_VIEW, name=default.person] granted by root
一,在hive中进行撤销角色权限(没有错误)
取消角色 mmm hive操作表person权限
revoke select on person from role mmm;
查看角色 mmm 操作Hive 权限
show grant role mmm;
结果如下
二,在hive中进行撤销用户权限(出现错误)
取消用户 zhangsan hive操作表person权限
revoke select on person from user zhangsan;
查看用户 zhangsan 操作Hive 权限
show grant user zhangsan;
结果出现错误
三,解决方法
原因:
因为下面的这条语句我写在了root用户所登录的节点,所以报错,这条命令应卸载zhangsan用户登录的目录上才不会报错,会将zhangsan的关于person表的查询权限撤销掉
revoke select on person from user zhangsan;
再次进行查询,
下面这条语句,在root用户下进行操作可以,在zhangsan用户下操作也可以
show grant user zhangsan;
结果如下,不会显示报错成功撤销权限