Sou relativamente novo nos conceitos mencionados na pergunta e ler sobre eles de diferentes fontes apenas os torna mais confusos. Então é isso que eu entendi até agora:
Quando recebemos permissões para um arquivo, elas se parecem com isso:
-rwsr-xr-- 1 user1 users 190 Oct 12 14:23 file.bin
Assumimos que um usuário user2que está no grupo userstenta executar file.bin. Se o bit setuid não fosse definido, isso significaria que tanto o RUID quanto o EUID de file.bineram iguais ao UID deuser2 . Mas como o bit setuid está definido, isso significa que o RUID agora é igual ao UID de user2, enquanto EUID é o UID do proprietário do arquivo user1.
Minhas perguntas são:
- Qual é a diferença entre o proprietário do arquivo e
root? Fazrootas mesmas permissões que o proprietário? Ou precisaríamos de uma entrada separada na lista de permissõesroot? - Diferença entre RUID e EUID?
- Pelo que entendi, o RUID e o EUID são aplicados apenas a processos. Se for esse o caso, por que eles têm o valor dos IDs de usuário?
- Se RUID é o usuário que cria o processo e EUID é o usuário que está executando o processo no momento, a primeira frase da primeira resposta nesta pergunta não faz sentido para mim.
- Entendi corretamente o que o bit setuid faz?