この内容を先に説明します。悪い習慣ただし、とにかく、仮想マシンテンプレートの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