]> granicus.if.org Git - python/commit
bpo-36046: Add user and group parameters to subprocess (GH-11950)
authorPatrick McLean <47801044+patrick-mclean@users.noreply.github.com>
Thu, 12 Sep 2019 17:15:44 +0000 (10:15 -0700)
committerGregory P. Smith <greg@krypto.org>
Thu, 12 Sep 2019 17:15:44 +0000 (18:15 +0100)
commit2b2ead74382513d0bb9ef34504e283a71e6a706f
tree28a8a0f37d31dc7a674d2690085a2dcd8a629118
parent57b7dbc46e71269d855e644d30826d33eedee2a1
bpo-36046: Add user and group parameters to subprocess (GH-11950)

* subprocess: Add user, group and extra_groups paremeters to subprocess.Popen

This adds a `user` parameter to the Popen constructor that will call
setreuid() in the child before calling exec(). This allows processes
running as root to safely drop privileges before running the subprocess
without having to use a preexec_fn.

This also adds a `group` parameter that will call setregid() in
the child process before calling exec().

Finally an `extra_groups` parameter was added that will call
setgroups() to set the supplimental groups.
Doc/library/subprocess.rst
Lib/multiprocessing/util.py
Lib/subprocess.py
Lib/test/test_capi.py
Lib/test/test_subprocess.py
Misc/NEWS.d/next/Library/2019-02-19-17-32-45.bpo-36046.fX9OPj.rst [new file with mode: 0644]
Modules/_posixsubprocess.c