set*gid()除极少数情况外,各种系统调用都需要特权来更改组。将主要组更改为进程的补充组之一似乎不是其中之一,这意味着例如newgrp/ sg命令需要提升特权才能切换主要组。
是否有一个原因,为什么setgid()/ setegid()/ setregid()/ setfsgid()不允许没有PRIVS切换到补充组?如果是这样,原因是什么?
newgrp/sg指的是帐户数据库,而不是流程的补充组列表。
                setgid()允许您离开组的成员身份(这将是安全问题),但是同样,您也可以使用与上述相同的setgid可执行技巧来做到这一点,并且您的gid通常也位于您的补充列表中(initgroups(3)为此只需要一个gid参数)。
                
/usr/bin/env具有setgid权限的副本)。