Olá @jbmascar, seja bem-vindo ao fórum.
Boas pessoal?
Conforme abaixo, o que significa o "0" no número 0760?
create mask = 0760
directory mask = 0760
Grato
O primeiro zero significa que a sequência numérica está escrita em
base octal.
O sistema octal se ajusta muito bem à definição de permissões, pois cada dígito octal representa 3 bits, e as permissões básicas POSIX são três (leitura, escrita e execução). Assim cada dígito octal representa um grupo completo de permissões que podem estar sendo concedidas ou retiradas, conforme o contexto em que esteja sendo usado.
Octal | Binário | Permissões |
0 | 0 0 0 | - - - |
1 | 0 0 1 | - - x |
2 | 0 1 0 | - w - |
3 | 0 1 1 | - w x |
4 | 1 0 0 | r - - |
5 | 1 0 1 | r - x |
6 | 1 1 0 | r w - |
7 | 1 1 1 | r w x |
Você também pode pensar em leitura (r) como o valor 4, escrita (w) como o valor 2, e execução (x) como o valor 1. Assim, se você quer citar leitura e escrita, faz r+w, ou seja, 4+2, o que dá "6". E por aí vai.
O segundo zero, no caso, indica que todas as permissões (leitura, escrita e execução) estão sendo retiradas de outros usuários [os grupos básicos de permissão são "usuário", "grupo" e "outros"]. Neste contexto, as permissões só podem ser retiradas, e não adicionadas, pois o "create mask" e o "directory mask" são máscaras AND. Numa máscara AND, os bits zero fazem com que as permissões resultantes sejam apagadas, ou seja, retiradas. Os bits 1 mantém a permissão original do usuário, conforme definido pelo sistema.
Há um outro contexto, das diretivas "force create mask" e "force directory mask", onde as permissões são concedidas, que são máscaras OR. Numa máscara OR, os bits um fazem com que as permissões resultantes sejam acesas, ou seja, adicionadas. Os bits 0 mantém a permissão original do usuário, conforme definido pelo sistema.