kinit:Ansibleを使用するときにデフォルトのccacheを取得すると、永続キーリング名に無効なUIDがあります。

kinit:Ansibleを使用するときにデフォルトのccacheを取得すると、永続キーリング名に無効なUIDがあります。

まず、簡単に説明すると、ターゲットホスト:RHEL7、カーネル3.10、Python2.7

ターゲットホストには、次のタスクを実行するPerlスクリプト(特定のユーザーが実行)があります。

kdestroy -A
kinit user@domain -kt path_to_keytab

ホストコンピュータで(「scriptrunner」ユーザーとして)エラーなしですべてのコマンドを実行できます。ただし、Ansibleを使用すると、「kinit:デフォルトのccacheをインポートすると、永続キーリング名に無効なUID」エラーが発生します。

プレイブックは資格情報とともに「sudo」エスカレーションモードを使用してAnsibleTowerで実行され、プレイブック自体はTurn:yesとTurn_user:scriptrunnerを使用するため、ユーザーは端末でコマンドを実行したときと同じです。

コマンドモジュールを使ってコマンドを実行してみました。

command: /bin/kdestory -A and
command /bin/kinit someuser@domain -kt path_to_keytab.

また、スクリプト全体を次のように実行してみました:コマンド:/bin/bash -c -l thescript.sh。結果は常に同じです。

なぜこれですか?どんなアイデアがありますか?

ベストアンサー1

実行してもunset KRB5CCNAME問題が解決しない場合は、最初にkinitまたはklistを使用する前に必要な一時Kerberos資格情報キャッシュを作成できます。

export KRB5CCNAME=`mktemp`

それでも問題が解決しない場合は、「default_ccache_name」の値を/etc/krb5.confローカルファイルに変更してみてください。

[libdefaults]
# ...
# default_ccache_name = KEYRING:persistent:%{uid}
  default_ccache_name = /tmp/krb5cc_%{uid}

おすすめ記事