Qual é o primeiro dígito no valor umask? [duplicado]

6

Se eu entendi corretamente, as permissões de arquivo têm um número de 3 dígitos associado que especifica permissão de leitura / gravação / execução.

O valor umask é uma 'máscara' padrão que é subtraída do valor padrão. Então, para um valor de umask de 0022, o valor padrão para algo que seria 777 seria 755?

Isso está correto e, em caso afirmativo, qual é o primeiro 0 no valor umask?

    
por Philip Kirkbride 18.03.2017 / 16:05

2 respostas

13

O primeiro dígito 0 não está em uso no seu exemplo. A umask lê da direita para a esquerda e os zeros à direita são ignorados. No entanto, ele pode ser usado para definir permissões especiais, como sticky bit , Set GUID , Set UID , conforme mostrado abaixo.

0755  —- None of the special bits set
1755  —- Sticky bit set
2755  —- SGID bit set
4755  —- SUID bit set

Você está correto que uma máscara de 0022 irá mascarar uma permissão 777 (diretório) padrão para se tornar 755 em diretórios recém-criados.

A numeração octal funciona de forma semelhante aos três primeiros conjuntos: usuário, grupo, mundo / outro.

Os valores de leitura / gravação / execução rwx são representados em forma octal com os valores correspondentes que podem totalizar um máximo de 7:

4 - Read 
2 - Write 
1 - Execute

Portanto, para 0755: 0 é ignorado. 7 (4 + 2 + 1) é igual a ler, escrever e executar para o user / owner. E 5 (4 + 1) é igual a ler e executar para o group , e os 5 restantes (também 4 + 1) dão permissões de leitura e execução para other / world.

    
por 18.03.2017 / 16:20
-1

Eu diria que o 0 principal vem da linguagem C (sintaxe para números octal) e não tem outro significado. De man 2 umask , ou seja, a chamada da biblioteca C subjacente:

umask() sets the calling process's file mode creation mask (umask) to mask & 0777 (i.e., only the file permission bits of mask are used), and returns the previous value of the mask.

O umask não é simplesmente subtraído, mas é processado bit a bit. Os bits definidos na umask são limpos no modo de arquivo resultante.

    
por 18.03.2017 / 16:26

Tags