setgid 位未在 execl 调用中保留

setgid 位未在 execl 调用中保留

我遇到了一种无法解释的情况:我有一个启用了 setgid 位的可执行文件。当我调用 getegid() 时,它会返回预期的组。但是,一旦我使用 execl 从中生成一个 shell,该 shell 就不再具有此有效 gid,而是具有启动它的用户的有效 gid。

它实际上对我来说一直有效,但这个系统最近升级了,可能有些设置被更改了。我无法 strace 它,因为在 strace 下 setgid 不起作用。有什么想法吗?

相关内容