Existe um sinalizador de processo no Unix / Linux chamado umask
, interpretado como um número octal que diz quais permissões para decolar um arquivo recém-criado. O sinalizador é herdado por processos filhos. Configurá-lo para o shell faz com que todos os processos iniciem mais tarde para usar esse valor.
As permissões como bits são 1 para x
, 2 para w
e 4 para r
, que podem ser combinadas em um dígito octal. Por exemplo, r-x
é 4 + 1 = 5. Existem 3 conjuntos de permissões (usuário, grupo, outros). Então o 664 é rw-rw-r--
.
Ao criar um arquivo "normal", as permissões de base são 666 (bem daemônicas, não é?), ao criar um executável é 777. A partir disso, o umask
é retirado, 002 daria 664 para um arquivo regular.
Os shells possuem comandos internos chamados umask
para definir o umask. Você pode executá-los interativamente, mas na maioria das vezes eles são executados em algum arquivo de inicialização para o shell para torná-lo permanente. No caso do bash (1), isso deve ser feito em ~/.bashrc
. No Fedora é definido todo o sistema em /etc/bashrc
.
Antes de alterar a configuração padrão, considere as implicações com cuidado, permitindo que permissões mais relaxadas possam permitir acesso indesejável aos seus arquivos. Permitir que qualquer pessoa do seu grupo escreva seus arquivos é arriscado!