fixed id queries, should rely on effective
(cherry picked from commit 92e8c53879
)
This commit is contained in:
parent
b25c06725a
commit
e223349edc
1 changed files with 3 additions and 3 deletions
|
@ -1936,7 +1936,7 @@ class AnsibleModule(object):
|
|||
# if the original login_name doesn't match the currently
|
||||
# logged-in user, or if the SUDO_USER environment variable
|
||||
# is set, then this user has switched their credentials
|
||||
switched_user = login_name and login_name != pwd.getpwuid(os.getuid())[0] or os.environ.get('SUDO_USER')
|
||||
switched_user = login_name and login_name != pwd.getpwuid(os.geteuid())[0] or os.environ.get('SUDO_USER')
|
||||
|
||||
try:
|
||||
# Optimistically try a rename, solves some corner cases and can avoid useless work, throws exception if not atomic.
|
||||
|
@ -1976,7 +1976,7 @@ class AnsibleModule(object):
|
|||
# close tmp file handle before file operations to prevent text file busy errors on vboxfs synced folders (windows host)
|
||||
os.close(tmp_dest_fd)
|
||||
# leaves tmp file behind when sudo and not root
|
||||
if switched_user and os.getuid() != 0:
|
||||
if switched_user and os.geteuid() != 0:
|
||||
# cleanup will happen by 'rm' of tempdir
|
||||
# copy2 will preserve some metadata
|
||||
shutil.copy2(b_src, b_tmp_dest_name)
|
||||
|
@ -2014,7 +2014,7 @@ class AnsibleModule(object):
|
|||
os.umask(umask)
|
||||
os.chmod(b_dest, DEFAULT_PERM & ~umask)
|
||||
if switched_user:
|
||||
os.chown(b_dest, os.getuid(), os.getgid())
|
||||
os.chown(b_dest, os.geteuid(), os.getegid())
|
||||
|
||||
if self.selinux_enabled():
|
||||
# rename might not preserve context
|
||||
|
|
Loading…
Reference in a new issue