一、kerberos管理后台命令:
在KDC服务器执行kadmin.local进入kerberos管理
[root@cdp101 ~]# kadmin.local Authenticating as principal admin/admin@ENMONSTER.ORG with password. kadmin.local:
在非KDC服务器或KDC服务器非root用户,需要先使用kinit admin/admin认证admin账户后,再执行kadmin进入kerberos管理
[flink@cdp101 ~]$ kinit admin/admin Password for admin/admin@ENMONSTER.ORG: [flink@cdp101 ~]$ kadmin Couldn't open log file /var/log/kadmind.log: Permission denied Authenticating as principal admin/admin@ENMONSTER.ORG with password. Password for admin/admin@ENMONSTER.ORG: kadmin:
#添加kerberos主体,名称可随意,习惯使用appname/hostname@realms kadmin.local: addprinc flink/test-cloudera-manager03 #将认证的主体制成keytab,并将keytab放置本地 kadmin.local: ktadd -norandkey -k /etc/security/keytab/flink.keytab flink/test-cloudera-manager03 #获得主体信息 kadmin.local: getprinc flink/test-cloudera-manager03 #展示目前kerberos库中存在的主体 kadmin.local: listprincs #修改kerberos主体密码 cpw hdfs/test-cloudera-manager03
二、Linux中的kerberos命令
#查看当前服务器当前用户认证的kerberos信息 klist #linux console直接添加kerberos主体 kadmin.local -q "addprinc hdfs/admin" #认证kerberos主体 kinit hdfs/admin #使用keytab认证kerberos主体 kinit -kt /etc/hyperbase1/conf/hdfs.keytab hbase/nodexx@TDH #查看该keytab中的主体有哪些 klist -kte /etc/security/keytab/flink.keytab #销毁当前已有凭证 kdestroy #使用ktutil 合并前面创建的keytab ktutil: rkt user1.keytab 读keytab1 ktutil: rkt user2.keytab 读keytab2 ktutil: wkt user.keytab 生成新的keytab klist -ket user.keytab 读取keytab
三、结合应用使用kerberos认证
1、访问hdfs
认证前(访问异常):
[flink@cdp101 ~]$ hdfs dfs -ls / 21/11/30 18:25:43 WARN ipc.Client: Exception encountered while connecting to the server : org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS] ls: Failed on local exception: java.io.IOException: org.apache.hadoop.security.AccessControlException: Client cannot authenticate via:[TOKEN, KERBEROS]; Host Details : local host is: "cdp101.enmonster.org/10.22.6.111"; destination host is: "cdp101.enmonster.org":8020; [flink@cdp101 ~]$
认证中(此处使用密码认证):
[flink@cdp101 ~]$ kinit admin/admin@ENMONSTER.ORG Password for admin/admin@ENMONSTER.ORG: [flink@cdp101 ~]$
认证后(正常访问):
[flink@cdp101 ~]$ hdfs dfs -ls / Found 3 items drwxr-xr-x - hbase hbase 0 2021-11-30 17:48 /hbase drwxrwxrwt - hdfs supergroup 0 2021-11-15 19:15 /tmp drwxr-xr-x - hdfs supergroup 0 2021-02-05 19:09 /user [flink@cdp101 ~]$
2、访问hive
认证前(访问hive卡住):
认证中(此处使用keytab文件认证)
[hive@bi-test-cloudera-manager01 ~]$ kinit -kt hdfs.keytab hdfs/bi-test-cloudera-manager01 [hive@bi-test-cloudera-manager01 ~]$
认证后(可正常访问hive):



