Написание модуля su - <user> в модуле Ansible или использование стать?
Я пишу модуль Ansible для настройки программного обеспечения. Поставщик требует, чтобы команды настройки выполнялись под определенным пользователем. Если вы сделаете это под "root", вы получите ошибку.
Итак, текущее решение:
module = AnsibleModule(....)
command='su - <user> -c "<command>"'
result = module.run_command(command)
Это работает, но я не очень доволен этим. Я мог бы также позволить Ansible сделать это и использоватьbecome
а также become_user
. Но тогда вы должны правильно задокументировать это, и вы получите большее количество ошибок, потому что люди не всегда читают документацию.
Так что мне любопытно, что может быть лучшим способом пойти или есть другой способ решить эту проблему.