Как передать имя пользователя / пароль в команду ambari-server syn c -ldap - PullRequest
1 голос
/ 29 января 2020

Я пытаюсь запустить playbook с помощью команды syn c ldap:

ambari-server sync-ldap --all

Дело в том, что после выполнения команды запрашивается имя пользователя, а затем пароль.

Можно ли в любом случае автоматически передавать имя пользователя и пароль из echo или с помощью оболочки сценария, не передавая их вручную?

Ответы [ 2 ]

0 голосов
/ 29 января 2020

Оформить Ожидайте .

Простой пример - использовать следующий скрипт.

#!/usr/bin/expect -f
ambari-server sync-ldap --all

# wait until the prompt shows "enter username". Change this to adapt to your application.
expect "enter username"
send "your_username\r"

# wait until the prompt shows "password: ". Change this to adapt to your application.
expect "password: "
send "yourPAssWoRD\r"


interact

Отказ от ответственности : я никогда не использовал ambari-server Команда до.

0 голосов
/ 29 января 2020

попробуйте с приведенным ниже сценарием

# cat /tmp/ambari-server-sync-ldap-unattended.sh
#!/usr/bin/expect 
set timeout 20
spawn /usr/sbin/ambari-server sync-ldap --groups=/etc/ambari-server/ambari-groups.csv
expect "Enter Ambari Admin login:" { send "admin\n" }
expect "Enter Ambari Admin password:" { send "notTheRealPasswordOfCourse\n" }
interact
...