s6
Software
skarnet.org
 The s6-applyuidgid program 
 s6-applyuidgid executes a program with reduced privileges.
 Interface 
     s6-applyuidgid [ -z ] [ -u uid ] [ -g gid ] [ -G gidlist ] [ -U ] prog...
 -  s6-applyuidgid sets its uid, gid and supplementary group list to the
values given, then executes into prog. 
 Options 
 -  -u uid : set the process' user ID to uid 
-  -g gid : set the process' group ID to gid 
-  -G gidlist : set the process' supplementary group list
to gidlist, which must be given as a comma-separated list of numeric GIDs,
without spaces. 
-  -U : set the process' user ID, group ID and supplementary group list
to the values of the UID, GID and GIDLIST environment variables. If a -u,
-g or -G option is given after -U, the command line
value overrides the environment variable. 
-  -z : unexport. The UID, GID and GIDLIST variables will be
removed from the process environment. 
 Notes 
 -  s6-applyuidgid can only be run as root. Its main use is to drop root privileges before
starting a daemon. 
-  s6-applyuidgid is a more generic version of
s6-setuidgid. It is used as a command line
building block by some programs that rewrite their command line, such as
s6-tcpserver.