Os grupos do processo são definidos pelo programa que muda da raiz para o usuário alvo antes de executar o programa do processo. Quando um usuário efetua login, o programa que altera o usuário é o programa de login ( login
, su
, sshd
,…) e o programa do processo é o shell do usuário. Para um daemon executado sob o usuário do sistema, o programa que altera o usuário pode ser su
ou alguma outra ferramenta como o do Debian start-stop-daemon
. Por exemplo, start-stop-daemon
sempre adiciona os grupos suplementares ao processo. O programa de troca de usuário deve ter lógica para definir tanto o grupo primário do banco de dados do usuário quanto o grupo suplementar do banco de dados do grupo.