다음 명령을 사용하여 Kerberos용 키탭을 생성했습니다.
ktutil
=================================
add_entry -password -p <domain> -k 1 -e arcfour-hmac
add_entry -password -p <domain> -k 1 -e aes256-cts-hmac-sha1-96
list
wkt path/myKeytab.keytab
exit
==================================
ls -al path/myKeytab.keytab
klist -ekt /path/myKeytab.keytab
kinit -kt path/myKeytab.keytab <domain>
klist
비밀번호를 매개변수로 사용하고 키탭을 생성하는 scrott를 만들고 싶습니다.
두 가지 질문이 있습니다.
ktutil
명령이 필요한 하위 쉘을 생성합니다(이름이 올바른 경우).
어떻게 스크립트 호출을 만들고
ktutil
종료(하위 쉘 종료)까지 모든 것이 그 안에 명령이 될 수 있습니까?명령에는
add_entry -password -p <domain> -k 1 -e arcfour-hmac
사용자 입력이 필요합니다. 입력을 스크립트에 어떻게 전달합니까?
$1 > add_entry -password -p <domain> -k 1 -e arcfour-hmac
또는 내가 검색한 비슷한 트릭이 작동하지 않습니다.
내 연구에 따르면 이 스크립트는 다음과 같이 작동해야 합니다.
password="$1"
printf "%b" "add_entry -password -p <domain> -k 1 -e arcfour-hmac" | ktutil
printf "%b" "$password"
printf "%b" "add_entry -password -p <domain> -k 1 -e aes256-cts-hmac-sha1-96" | ktutil
printf "%b" "$password"
printf "%b" "list" | ktutil
printf "%b" "wkt path/myKeytab.keytab" | ktutil
printf "%b" "exit" | ktutil
어느 정도 작동하지만 "add_entry -password -p <domain> -k 1 -e aes256-cts-hmac-sha1-96"
다음 줄의 비밀번호 프롬프트에서는 값을 삽입하지 않습니다. printf
로 바꿔보려고 했는데
password="$1"
echo "$password" | printf "%b" "add_entry -password -p <domain> -k 1 -e arcfour-hmac" | ktutil
echo "$password" | printf "%b" "add_entry -password -p <domain> -k 1 -e aes256-cts-hmac-sha1-96" | ktutil
printf "%b" "list" | ktutil
printf "%b" "wkt myKeytab.keytab" | ktutil
printf "%b" "exit" | ktutil
그런 다음 하나의 명령으로 라우팅을 시도했습니다.
password="$1"
printf "%b" "add_entry -password -p <domain> -k 1 -e arcfour-hmac\n
$password\n
add_entry -password -p <domain> -k 0 -e aes256-cts-hmac-sha1-96\n
$password\n
list\n
wkt myKeytab.keytab\n
exit" | ktutil
ls -al myKeytab.keytab
klist -ekt myKeytab.keytab
kinit -kt smyKeytab.keytab <domain>
klist
그 결과는 다음과 같습니다.
ktutil: <password>
ktutil: Unknown request "<password>". Type "?" for a request list.
이는 비밀번호가 잘못 구문 분석되었음을 의미합니까? 하지만 내가 사용할 때 :
password="$1"
echo "$1" | printf "%b" "add_entry -password -p <domain> -k 1 -e arcfour-hmac\n
add_entry -password -p <domain> -k 0 -e aes256-cts-hmac-sha1-96\n
list
wkt myKeytab.keytab
exit" | ktutil
ls -al myKeytab.keytab
klist -ekt myKeytab.keytab
kinit -kt smyKeytab.keytab <domain>
klist
스크립트는 완료되지만 kinit는 다음과 같이 불평합니다. kinit: Preauthentication failed while getting initial credentials
스크립트 없이 수동으로 이 명령을 추가하면 작동하기 때문에 비밀번호가 잘못 구문 분석되었음을 의미합니다.