Questão 66 · Informática: Sistemas operacionais (Windows e Linux)
No sistema operacional Linux o usuário root é o único que possui permissão de escrita no arquivo /etc/passwd. Entretanto, o comando passwd permite aos usuários comuns alterar algumas informações contidas no arquivo /etc/passwd.
Assinale a alternativa que explica corretamente como isso é possível.
- A) O comando passwd possui o usuário root como proprietário e tem o bit setuid ativado. Ele é então executado com o EUID do usuário root e não do usuário comum, permitindo que o arquivo /etc/passwd seja modificado.
- B) O comando passwd possui o usuário root como proprietário e tem o bit sticky ativado. Ele é então executado com o EUID do usuário root e não do usuário comum, permitindo que o arquivo /etc/passwd seja modificado.
- C) O comando passwd possui o usuário root como proprietário e tem o bit sticky ativado. Ele é então executado com o UID do usuário root e não do usuário comum, permitindo que o arquivo /etc/passwd seja modificado.
- D) O comando passwd possui o usuário sys como proprietário e tem o bit setuid ativado Ele é então executado com o EUID do usuário sys e não do usuário comum, permitindo que o arquivo /etc/passwd seja modificado.
- E) O comando passwd possui o usuário sys como proprietário e possui o bit sticky setado. Ele é então executado com o UID do usuário sys e não do usuário comum, permitindo que o arquivo /etc/passwd seja modificado.
Marque a alternativa correta:
Gabarito: A
Gabarito definitivo divulgado pela banca FGV (INEA 2013).
Comentário
Gabarito: A.
O arquivo /etc/passwd pertence ao root, e só ele tem permissão de escrita. O comando passwd, porém, tem como proprietário o root e o bit setuid ativado. Quando um usuário comum executa um programa com setuid, o processo assume o EUID do dono do arquivo, que é root. Assim, o passwd roda com privilégios de root e pode gravar em /etc/passwd, ainda que o usuário comum não tenha essa permissão.
- (B), (C) citam o bit sticky, que impede a exclusão de arquivos em diretórios compartilhados, e não permite a elevação de privilégio.
- (C) ainda fala em UID em vez de EUID, o identificador efetivo que define as permissões.
- (D) e (E) usam o usuário sys, que não é o dono do comando passwd.
Dica de prova: setuid se associa a EUID e elevação temporária de privilégio. Sticky aparece em diretórios como /tmp e não serve para isso.
Fundamentos: Bit setuid e EUID em Linux · Diferença entre setuid e sticky bit · Funcionamento do comando passwd e do arquivo /etc/passwd
Comentário gerado pela Cravei IA a partir do enunciado e do gabarito definitivo divulgado pela banca, e conferido por uma verificação automática. A IA pode errar: o gabarito oficial sempre prevalece.
Fonte: prova FGV INEA 2013 (Analista de Sistemas), questão 66, com o gabarito definitivo da banca. Comentário: Equipe Cravei · como fazemos e revisamos.