Sim: como você diz, su
é executado com privilégios de superusuário, então setuid
define todos os três IDs de usuário.
Como explicado no raciocínio em a especificação POSIX para setuid
, esse comportamento é necessário: caso contrário, o processo iniciado por su
seria capaz de setuid
voltar para o usuário original, o que é não desejável.