Uid e gid relação às permissões de arquivo

0

Estou confuso sobre o efeito que o uid ou gid tem na capacidade de um processo executar um arquivo. Eu li a seção que encontrei sobre eles na APUE, mas devo ter perdido a parte em que Stevens explica isso. Eu sei que o superusuário tem um id de 0 e pode executar qualquer arquivo, mas estou perdido o que acontece com números específicos de uid ou gid. Eu também não estou particularmente certo se uid ou gid é relevante, ou se euid e egid são as únicas coisas que importam?

Por exemplo, esta é uma pergunta que recebemos em aula:

Assume a process with effective user id 4 and effective group id 7 tries to execute a file with user id 4, group id 9, and permissions rw-r-x--x. What will happen (and why)?

Então, suponho que, como a permissão de gravação do usuário não seja concedida, o processo não deve ser capaz de executar o arquivo? Ou já que o uid e euid são os mesmos, o processo pode executar o arquivo? Onde o egid e gid entram nisso?

    
por dumbitdownjr 25.05.2018 / 02:48

1 resposta

0

Acho que descobri, por isso, se o euid corresponder ao uid e as permissões de execução do usuário forem concedidas, o arquivo será executado. Da mesma forma, se a correspondência egid e gid e o bit de execução gid estiverem definidos ou o outro bit de execução estiver definido (não há outro ID a ser verificado para que o outro bit de execução seja suficiente), a execução será executada. Se nada disso for verdade, a permissão será negada.

Portanto, no exemplo acima, o euid corresponde ao uid, mas o bit de execução do usuário não está definido. O bit execute do grupo é ajustado, mas o egid não combina o gid. Mas outro bit de execução é setado, então o arquivo será executado com sucesso.

    
por 10.06.2018 / 21:40