我正在编写一个Ansible模块来配置软件供应商要求配置命令必须在特定用户下执行。如果您在“root”下执行此操作,您将收到错误消息。
所以mu当前的解决方案是:
module = AnsibleModule(....)
command='su - <user> -c "<command>"'
result = module.run_command(command)
它有效,但我对此并不满意。我也可以让 Ansible 做它并使用become
and become_user
. 但是你必须正确地记录这一点,你会得到更高的错误变化,因为人们并不总是阅读文档。
所以我很好奇什么可能是最好的方法,或者是否有另一种方法来解决这个问题。