De onde os grupos suplementares vêm em / proc / pid / status, eles são sempre herdados de um shell?

1

Em / proc / pid / status, podemos ver todos os grupos suplementares para o pid (Meu entendimento é que isto é presumido que foi bifurcado a partir de um shell interativo ou o processo fez getgroups (2))

Eu quero saber como esses grupos estão sendo fornecidos aos processos. Eles são geralmente todos herdados do shell pai, e devemos assumir que o shell pai fez getgroups em algum momento (ou herdou o valor de um shell de login que fez getgroups)?

    
por Gregg Leventhal 19.09.2018 / 01:43

1 resposta

2

Seu entendimento está correto. Os grupos são sempre herdados do processo pai (o init é iniciado sem grupos suplementares). A única maneira de mudar isso é por setgroups. Isso é feito por su, sshd ou qualquer outro processo privilegiado que tenha realizado o login do usuário. No momento em que o shell do usuário é executado, os grupos já estão definidos.

    
por 19.09.2018 / 02:14