Sim, um processo de superusuário pode alterar seu ID de usuário real e ID de grupo real para qualquer valor que desejar. Os valores em /etc/passwd
e /etc/shadow
são a configuração para quais valores devem ser definidos, mas não uma limitação de valores possíveis.
Editar # 1
Isso significa que programas como login
lerão os valores dos arquivos, portanto, os arquivos são arquivos de configuração ou de entrada. Eles não são restrições sobre o que um programa pode fazer. Um processo de superusuário pode passar qualquer valor para o kernel, e o kernel não irá verificar nenhum arquivo.
Um programa poderia chamar
setgid (54321);
setuid (12345);
e isso funcionaria, mesmo que nenhum dos id seja mencionado em qualquer arquivo.