O valor de entrada é octal, o que pode exigir que um 0 inicial seja analisado corretamente. Como a máscara do proprietário é quase sempre 0, a máscara pode ser digitada com três dígitos. Como uma máscara AND, seria necessário inserir 0755 ou 0750.
Definindo-a como uma operação AND NOT, torna-se mais seguro se os caracteres estiverem ausentes na máscara. Se umask fosse e AND operation umask 5
permitiria apenas acesso limitado ao mundo e umask 0
seria ainda pior. umasq 75
analisado como um valor decimal seria efetivamente umask 113
, o que não permitiria acesso de leitura.
EDIT: De outra perspectiva, a máscara é uma lista dos bits que você deseja mascarar. Portanto, você quer máscaras como 026
em vez de 0751
. A representação interna pode muito bem ser 07751
ou o que for apropriado para o ANDing. Caso contrário, a conversão é relativamente trivial e, no grande esquema das coisas, a máscara não é aplicada com frequência.