Questão de Sistemas Operacionais — Linux — FCC 2022
- Código
- fc067306
- Banca
- FCC
- Órgão
- TRT - 5ª Região (BA)
- Ano
- 2022
- Cargo
- Analista Judiciário - Tecnologia da Informação
- A0002.
- B0244.
- C0202.
- D0042.
- E0642.
GabaritoD — 0042.
Gabarito: letra D (0042). O valor do umask é obtido comparando as permissões observadas com as permissões padrão (666 para arquivos, 777 para diretórios). Aplicando a fórmula umask = permissão_padrão & (~permissão_final) bit a bit, o resultado é 0042.
O comando umask define uma máscara que remove permissões dos valores padrão. A permissão final é calculada como permissão_padrão AND (NOT umask). Para descobrir o umask a partir das permissões finais, usamos a operação inversa: umask = permissão_padrão AND (NOT permissão_final). Vamos aplicar:
Objeto | Permissão final (octal) | Permissão padrão | NOT final | umask (padrão & NOT final) |
|---|---|---|---|---|
arquivo.txt | 624 (rw--w-r--) | 666 (rw-rw-rw-) | 153 (001 101 011)* | 666 & 153 = 042 (em octal) |
diretório | 735 (rwx-wxr-x) | 777 (rwxrwxrwx) | 042 (000 100 010) | 777 & 042 = 042 |
*O cálculo detalhado: 624 em octal = 110 010 100 binário. ~624 = 001 101 011 = 153 octal. 666 & 153 = 110 110 110 & 001 101 011 = 000 100 010 = 042 octal. O mesmo valor é obtido para o diretório: 735 = 111 011 101, ~735 = 000 100 010 = 042. Então o umask é 042, geralmente escrito com 4 dígitos como 0042.
0002: Umask 0002 resultaria em permissões 664 para arquivos (rw-rw-r--) e 775 para diretórios (rwxrwxr-x), divergindo do observado.
0244: Se umask = 0244, arquivo teria 666 & (~244) = 666 & 533 = 442? (r--r--w-), diretório 777 & 533 = 533 (r-x-wx-wx). Não confere.
0202: Umask 0202 daria arquivo 666 & ~202 = 666 & 575 = 464 (r--rw-r--), diretório 777 & 575 = 575 (r-xrwxr-x). Diferente.
0042: Como demonstrado, esse umask gera exatamente as permissões 624 e 735.
0642: Umask 0642 resulta em arquivo 666 & ~642 = 666 & 135 = 024 (----w-r--), diretório 777 & 135 = 135 (--x-wxr-x). Não corresponde.
Para resolver questões de umask, lembre-se sempre de converter as permissões para octal e usar a fórmula permissão_final = permissão_padrão & ~umask. Se a questão fornecer permissões finais, inverta: umask = permissão_padrão & ~permissão_final. Pratique com exemplos variados para fixar.
Gabarito: letra D (0042)
Link permanente: /questoes/fc067306