o que significa exatamente que temos privilégios de superusuário

0

Quando acessamos o arquivo, a permissão de arquivo é verificada a partir do ID do usuário efetivo do processo. Mas, que tal mudar o ID do usuário como setuid() , setreuid() , seteid() .

Nessas funções, o privilégio de superusuário também é verificado a partir do ID do usuário efetivo (o ID do usuário efetivo é root) do processo que chama essas funções?

    
por A.Cho 06.03.2016 / 07:39

1 resposta

1

A expressão "ter privilégios de superusuário" pode significar coisas diferentes. Você precisa olhar para o contexto.

Em um contexto de administração do sistema, “ter privilégios de superusuário” geralmente significa um usuário com permissão para acessar a conta raiz, por exemplo, porque eles são autorizados pela configuração do sudo ou porque conhecem a senha raiz.

Em um contexto de programação, "ter privilégios de superusuário" geralmente significa um processo que está sendo executado com o UID 0. Se for indicado em um momento específico, por exemplo, ao discutir se uma chamada de sistema é autorizada, isso geralmente significa que o UID efetivo é 0 para a maioria das chamadas do sistema. Se for estado de uma forma atemporal, isso geralmente significa que o processo é capaz de definir seu UID efetivo como 0, o que também inclui processos cujo UID de usuário real ou salvo é 0.

Se você deseja saber quais são os requisitos exatos para uma função específica, verifique a documentação dessa função em seu sistema (há variações dependendo do kernel subjacente).

TL, DR: o contexto é importante.

    
por 07.03.2016 / 00:34