Init process group permissions. Compat version of :func:`os.initgroups` that was first added to Python 2.7.
(uid, gid)
| 500 | |
| 501 | |
| 502 | def initgroups(uid, gid): |
| 503 | """Init process group permissions. |
| 504 | |
| 505 | Compat version of :func:`os.initgroups` that was first |
| 506 | added to Python 2.7. |
| 507 | """ |
| 508 | if not pwd: # pragma: no cover |
| 509 | return |
| 510 | username = pwd.getpwuid(uid)[0] |
| 511 | if hasattr(os, 'initgroups'): # Python 2.7+ |
| 512 | return os.initgroups(username, gid) |
| 513 | groups = [gr.gr_gid for gr in grp.getgrall() |
| 514 | if username in gr.gr_mem] |
| 515 | setgroups(groups) |
| 516 | |
| 517 | |
| 518 | def setgid(gid): |