/proc/pid/status の補足グループはどこから来ており、常にシェルから継承されますか?

/proc/pid/status の補足グループはどこから来ており、常にシェルから継承されますか?

/proc/pid/statusでは、私たちはpidのすべての補足グループを見ることができます(私の理解はそれがインタラクティブシェルから分岐したか、プロセスがgetgroups(2)を実行したと仮定します)

これらのグループをプロセスに提供する方法を知りたいです。通常、親シェルから継承されますか?親シェルがどの時点でgetgroupを実行したと仮定する必要がありますか(またはgetgroupを実行したログインシェルから値を継承しましたか?)

ベストアンサー1

あなたの理解は正しいです。グループは常に親プロセスから継承されます(initは追加のグループなしで開始されます)。これを変更する唯一の方法は、コレクショングループを使用することです。これは、su、sshd、またはユーザーへのログインを実行する特権プロセスを介して行われます。ユーザーのシェルが実行されているときにグループが設定されました。

おすすめ記事