You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Expected os.homedir() to home directory of the current user as a string but when the current user changes via process.setuid() this directory still show the original user's home directory
Expected os.homedir() to home directory of the current user as a string but when the current user changes via process.setuid() this directory still show the original user's home directory
I understand the expectation, but at the same time, I would expect the opposite behavior--that changing the uid does not affect the home directory. Other languages seem to bear this out. Here's Python being run initially as root and then changing to an unprivileged user with a different home directory:
Python 2.7.10 (default, Feb 22 2019, 21:55:15) [GCC 4.2.1 Compatible Apple LLVM 10.0.1 (clang-1001.0.37.14)] on darwinType "help", "copyright", "credits" or "license" for more information.>>> import os>>> from os.path import expanduser>>> expanduser("~")'/var/root'>>> os.setuid(501)>>> expanduser("~")'/var/root'
Perhaps relevant explanation about why sudo preserves the home directory by default rather than adopting the home directory of the privileged user: https://askubuntu.com/a/338449/112895
Reacted by Ryan Tharp, Rick V, Anna Henningsen and Alex Yang
Activity
Trott commentedon Jun 18, 2019
I understand the expectation, but at the same time, I would expect the opposite behavior--that changing the uid does not affect the home directory. Other languages seem to bear this out. Here's Python being run initially as root and then changing to an unprivileged user with a different home directory:
Perhaps relevant explanation about why
sudopreserves the home directory by default rather than adopting the home directory of the privileged user: https://askubuntu.com/a/338449/112895neuroscr commentedon Jun 18, 2019
if that's the case, at least the documentation on os.homedir() should be updated to be precise and reflect that; save some other coders some time
(why didn't I think of the ~username trick...)
juanarbol commentedon Jun 24, 2019
Take a look to his PR #28401
cclauss commentedon Aug 14, 2019
Did this issue get resolved?
bnoordhuis commentedon Aug 14, 2019
The PR was merged so yes, this was indeed resolved. Closing, thanks for the ping.