Primeiro, crie uma cópia em um local a partir do qual você possa executá-la (por exemplo, sistemas de arquivos montados com noexec não qualificam). Isso é /tmp/ no meu exemplo.
sudo cp /bin/sleep /tmp/
(usei sudo para garantir que a cópia pertença a root desde o início; isso me salvará sudo chown … depois). O seguinte comando define o bit setuid para o arquivo :
sudo chmod u+s /tmp/sleep
Agora, execute-o em segundo plano como um usuário comum:
/tmp/sleep 300 &
Em seguida, verifique a saída de ps :
ps -eo pid,euser,ruser,comm | grep sleep
O resultado é euser aponta para o proprietário do arquivo, ruser aponta para o usuário que é executado.
Observação: ao jogar com o setuid, lembre-se ele não funciona com scripts .