/proc/pid/statusでは、私たちはpidのすべての補足グループを見ることができます(私の理解はそれがインタラクティブシェルから分岐したか、プロセスがgetgroups(2)を実行したと仮定します)
これらのグループをプロセスに提供する方法を知りたいです。通常、親シェルから継承されますか?親シェルがどの時点でgetgroupを実行したと仮定する必要がありますか(またはgetgroupを実行したログインシェルから値を継承しましたか?)
答え1
あなたの理解は正しいです。グループは常に親プロセスから継承されます(initは追加のグループなしで開始されます)。これを変更する唯一の方法は、コレクショングループを使用することです。これは、su、sshd、またはユーザーへのログインを実行する特権プロセスを介して行われます。ユーザーのシェルが実行されているときにグループが設定されました。