mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Merge branch 'raw-script-su-support' of https://github.com/sivel/ansible into sivel-raw-script-su-support
This commit is contained in:
commit
38b49476f8
2 changed files with 7 additions and 5 deletions
|
@ -43,11 +43,12 @@ class ActionModule(object):
|
||||||
executable = v
|
executable = v
|
||||||
module_args = r.sub("", module_args)
|
module_args = r.sub("", module_args)
|
||||||
|
|
||||||
result = self.runner._low_level_exec_command(conn, module_args, tmp, sudoable=True, executable=executable)
|
result = self.runner._low_level_exec_command(conn, module_args, tmp, sudoable=True, executable=executable,
|
||||||
|
su=self.runner.su)
|
||||||
# for some modules (script, raw), the sudo success key
|
# for some modules (script, raw), the sudo success key
|
||||||
# may leak into the stdout due to the way the sudo/su
|
# may leak into the stdout due to the way the sudo/su
|
||||||
# command is constructed, so we filter that out here
|
# command is constructed, so we filter that out here
|
||||||
if result.get('stdout','').startswith('SUDO-SUCCESS-'):
|
if result.get('stdout','').strip().startswith('SUDO-SUCCESS-'):
|
||||||
result['stdout'] = re.sub(r'^SUDO-SUCCESS.*(\r)?\n', '', result['stdout'])
|
result['stdout'] = re.sub(r'^(\r)?\nSUDO-SUCCESS.*(\r)?\n', '', result['stdout'])
|
||||||
|
|
||||||
return ReturnData(conn=conn, result=result)
|
return ReturnData(conn=conn, result=result)
|
||||||
|
|
|
@ -113,12 +113,13 @@ class ActionModule(object):
|
||||||
|
|
||||||
sudoable = True
|
sudoable = True
|
||||||
# set file permissions, more permisive when the copy is done as a different user
|
# set file permissions, more permisive when the copy is done as a different user
|
||||||
if self.runner.sudo and self.runner.sudo_user != 'root':
|
if ((self.runner.sudo and self.runner.sudo_user != 'root') or
|
||||||
|
(self.runner.su and self.runner.su_user != 'root')):
|
||||||
cmd_args_chmod = "chmod a+rx %s" % tmp_src
|
cmd_args_chmod = "chmod a+rx %s" % tmp_src
|
||||||
sudoable = False
|
sudoable = False
|
||||||
else:
|
else:
|
||||||
cmd_args_chmod = "chmod +rx %s" % tmp_src
|
cmd_args_chmod = "chmod +rx %s" % tmp_src
|
||||||
self.runner._low_level_exec_command(conn, cmd_args_chmod, tmp, sudoable=sudoable)
|
self.runner._low_level_exec_command(conn, cmd_args_chmod, tmp, sudoable=sudoable, su=self.runner.su)
|
||||||
|
|
||||||
# add preparation steps to one ssh roundtrip executing the script
|
# add preparation steps to one ssh roundtrip executing the script
|
||||||
env_string = self.runner._compute_environment_string(inject)
|
env_string = self.runner._compute_environment_string(inject)
|
||||||
|
|
Loading…
Reference in a new issue