Administração de Linux Question #019e3987
Qual das seguintes configurações para umask garante que os novos arquivos tenham as permissões padrão -rw-r-----?
0017
0640
0038
0027
Official Explanation / Community Explanations
A configuração umask determina as permissões padrão para arquivos e diretórios recém-criados. As permissões base padrão para arquivos são 666 (leitura e gravação para todos) e para diretórios são 777 (leitura, gravação e execução para todos). O valor de umask é subtraído dessas permissões base para gerar as permissões padrão reais.
Como funciona
Para obter permissões de arquivo -rw-r----- (que é 640 em octal), precisamos subtrair o umask das permissões base do arquivo, que são 666. O cálculo é: 666 - umask = 640. Portanto, umask = 666 - 640 = 026. No entanto, os valores de umask são normalmente fornecidos em octal e a subtração é feita dígito por dígito, sem empréstimo. O umask correto é 0027, porque:
- Para o proprietário: 6 - 0 = 6 (rw-)
- Para o grupo: 6 - 2 = 4 (r--)
- Para outros: 6 - 7 = -1, mas como as permissões não podem ser negativas, o resultado é 0 (---).
Assim, 666 - 027 = 640, que corresponde a-rw-r-----.
Por que o valor correto está certo
O valor de umask 0027 produz corretamente as permissões de arquivo 640. O zero à esquerda indica notação octal. O primeiro dígito (0) refere-se a permissões especiais (setuid, setgid, sticky), que não são afetadas neste caso. O segundo dígito (2) remove a permissão de escrita para o grupo e o terceiro dígito (7) remove todas as permissões para outros usuários.
Por que os valores incorretos estão errados
0017: Essa umask resultaria em permissões de arquivo 666 - 017 = 650 (rw-r-x---), o que concede permissão de execução ao grupo, não correspondendo aos 640 necessários.0640: Esta não é uma umask válida para arquivos porque o primeiro dígito (6) removeria a leitura e a gravação do proprietário, resultando em permissões 666 - 640 = 026 (--w-rw---), o que está incorreto.0038: Esta umask atribuiria permissões de arquivo 666 - 038 = 626 (rw--w-rw-), o que permite acesso de escrita a outros e remove a leitura do grupo, não correspondendo a 640.