Add become support for OpenBSD doas

This commit is contained in:
Damian Gerow 2015-08-17 21:31:18 -04:00
parent ee2e31b37a
commit 1c5611100e
9 changed files with 29 additions and 9 deletions

View file

@ -387,6 +387,20 @@ class PlayContext(Base):
flags = self.become_flags or ''
becomecmd = '%s %s /user:%s "%s"' % (exe, flags, self.become_user, success_cmd)
elif self.become_method == 'doas':
prompt = 'Password:'
exe = self.become_exe or 'doas'
flags = self.become_flags or ''
if not self.become_pass:
flags += ' -n '
if self.become_user:
flags += ' -u %s ' % self.become_user
becomecmd = '%s %s echo %s && %s %s env ANSIBLE=true %s' % (exe, flags, success_key, exe, flags, cmd)
else:
raise AnsibleError("Privilege escalation method not found: %s" % self.become_method)