Configurando o setuid VS dando permissões de execução

1

Estou tentando entender como funciona o setuid. Até agora, meu entendimento é que um processo que executa o arquivo no qual o setuid é aplicado é executado como se o proprietário do arquivo o executasse independentemente de quem realmente o executou. Mas por que não apenas definir a permissão de execução para todos (afinal, eu assumo que é o que acontece efetivamente)? Eu provavelmente estou sentindo falta de algo óbvio aqui?

    
por user1234 20.03.2015 / 23:11

1 resposta

2

Sim, você está perdendo algo óbvio. Quando você executa cat (ou ls , sed , awk , vi ou qualquer outro programa comum), você o executa como você mesmo, então o programa / processo está restrito por suas permissões. Quando você executa um programa setuid como passwd , o processo é executado com um UID de root, para que ele possa modificar /etc/shadow (que você, rodando sob seu próprio UID, não pode acessar - nem mesmo ler).

    
por 20.03.2015 / 23:25

Tags