비밀번호 입력을 우회할 것으로 예상되는 문제에 직면한 ActiveDirectory 조인용 Bash 스크립트

비밀번호 입력을 우회할 것으로 예상되는 문제에 직면한 ActiveDirectory 조인용 Bash 스크립트

이 내용을 먼저 설명하겠습니다.나쁜 습관그러나 어쨌든 가상 머신 템플릿의 vRA에 존재할 스크립트에 svc 계정 자격 증명을 저장하라는 메시지가 표시됩니다. 나에게는 옵션이 아니지만 사용 사례로 인해 사용자 입력이 불가능합니다. 현재 예상을 사용하여 svc 계정 비밀번호를 보내려고 합니다. 프롬프트가 표시되고 스크립트는 오류 없이 완료되지만 도메인에 가입하지는 않습니다. 자격 증명 세트를 변수로 보내는지 잘 모르겠습니다.

#!/bin/sh

yum -y install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients python3-policycoreutils expect

OU="OU=Computers,OU=Object Staging, DC=test,DC=acme,DC=com"

echo "OU selected is: $OU "

export OU

expect -c '

set OU "Computers,OU=Object Staging, DC=test,DC=acme,DC=com"

set PASS bugsBunny

spawn sudo realm join --user=svc-domainJoin --computer-ou="\$OU" test.acme.com ;

expect "Password for svc-domainJoin:"; send {"$PASS"\r\"; interact } ;
'
realm list

또한 기대 없이 이 스크립트를 실행하면(및 사용자 입력) 영역 목록의 출력이 표시되지 않습니다.

답변1

당신은 필요하지 않습니다 expect. 다음 명령은 STDIN에서 직접 비밀번호를 허용합니다.

OU="Computers,OU=Object Staging, DC=test,DC=acme,DC=com"
PASS=bugsBunny
printf "%s\n" "$PASS" |sudo realm join --user=svc-domainJoin --computer-ou="\$OU" test.acme.com

이전에는 이 백슬래시가 필요하지 않았을 수도 있습니다.OU

printf "%s\n" "$PASS" |sudo realm join --user=svc-domainJoin --computer-ou="$OU" test.acme.com

관련 정보