我有一个三节点集群,上面安装了 Kerberos 和 Ranger。
对于我作为普通用户 (tom) 使用的一个用例,我只是有点困惑。我的/home/tom 中有hdfs.headless.keytab
和hbase.headless.keytab
文件,所以我可以使用
[tom@master keytabs]$ ls /home/tom -l
total 8
-r--r----- 1 tom tom 373 Oct 26 02:32 hbase.headless.keytab
-r--r----- 1 tom tom 368 Nov 8 18:59 hdfs.headless.keytab
因此,如果我想写入 HDFS,我始终可以通过上述文件启动 Kerberos 票证:
[tom@master root]$ klist
klist: No credentials cache found (ticket cache FILE:/tmp/krb5cc_500)
[tom@master keytabs]$ kinit -kt /home/tom/hdfs.headless.keytab [email protected]
[tom@master keytabs]$ klist
Ticket cache: FILE:/tmp/krb5cc_500
Default principal: [email protected]
Valid starting Expires Service principal
11/08/18 19:12:10 11/09/18 19:12:10 krbtgt/[email protected]
renew until 11/08/18 19:12:10
现在我想激活 HBase 的票证:
[tom@master keytabs]$ kinit -kt /home/tom/hbase.headless.keytab [email protected]
[tom@master keytabs]$ klist
Ticket cache: FILE:/tmp/krb5cc_500
Default principal: [email protected]
Valid starting Expires Service principal
11/08/18 19:30:01 11/09/18 19:30:01 krbtgt/[email protected]
renew until 11/08/18 19:30:01
现在,当我运行以下命令(写入 HDFS)时,我得到:
[tom@master keytabs]$ hdfs dfs -mkdir /tom
mkdir: Permission denied: user=hbase, access=WRITE, inode="/tom":hdfs:hdfs:drwxr-xr-x
我不知道为什么我不能执行上述操作,而我已经在 HBase 之前为 Tom 初始化了 HDFS 的票证,当我写入 HDFS 时,它现在将其视为 HBase 用户,并且不会让我写入 HDFS ..我不能 su 到 hdfs 因为我不知道密码..有人可以解释我如何设置一个tom
可以执行 HBase 和 HDFS 票证操作的主体吗?
AFAIK 更好的方法是,创建一个名为“tom.headless.keytab”的键选项卡和主体“tom@bozxxx”我假设用户 tom 已经在 Ranger 上可用,如果没有,您可以同步用户(基于关于 Ranger 的配置方式,无论是配置为从文件读取还是从 Unix 用户或 Ldap 读取),或者快捷方式只是从 Ranger UI 创建用户“tom”。一旦用户被创建,在 HDFS 和 HBASE 上授予用户 tom 的访问权限。然后做 Kinit 然后你可以运行你的命令
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句