我需要使用hdfs用户调用一个命令。我的环境是经过kerberos身份验证的,因此为此,我调用以下命令为hdfs用户获取kerberos票证:
kinit -V -kt /etc/security/keytabs/hdfs.headless.keytab hdfs
该命令引发以下错误:
Using default cache: /run/user/krb5cc/krb5cc_MyUserID
Using principal: hdfs@MyRealm
Using keytab: /etc/security/keytabs/hdfs.headless.keytab
kinit: Password has expired while getting initial credentials
当我尝试在命令中使用sudo时
sudo kinit -V -kt /etc/security/keytabs/hdfs.headless.keytab hdfs
我得到以下错误
Using default cache: /run/user/krb5cc/krb5cc_0
Using principal: hdfs@MyRealm
Using keytab: /etc/security/keytabs/hdfs.headless.keytab
kinit: Keytab contains no suitable keys for hdfs@MyRealm while getting initial credentials
我认为可能需要使用sudo的原因是keytab文件具有“-r--r-----”权限,root是所有者。
你知道我如何为hdfs用户获得tgt以便以后使用吗?
1条答案
按热度按时间hlswsv351#
你能用下面的java命令检查keytab的主体吗
它将显示keytab的主体。使用该主体使用kinit命令对keytab进行身份验证。