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}

관련 정보