Na maioria dos Linuxes, pelo menos como padrão, o grupo primário de um usuário é o mesmo que seu nome de usuário, então isso não seria um problema, já que a propriedade de um novo arquivo seria para um grupo que ninguém nunca vai estar em.
Quando os servidores são configurados para que novos usuários tenham um grupo principal compartilhado, então temos a variável umask
environmental para evitar problemas. Isso é o que define as permissões padrão de novos arquivos e pode ser definido por usuário. Portanto, o usuário A pode definir seu umask
para 077 e, em seguida, todos os novos arquivos criados por ele terão permissões de 700, o que significa que os membros do grupo não poderão fazer nada com ele.
Para expandir isso um pouco, seu umask é normalmente definido como parte do seu script de inicialização - ou seja, os scripts que são executados quando você faz login em uma conta de usuário. Você tem dois conjuntos - seu script de perfil global, que é mais comumente /etc/profile
ou /etc/bashrc
e seu local, que são armazenados em seu diretório base como .bashrc
ou .profile
(os scripts reais usados dependem do seu shell , estes são apenas comuns para o bash). Quando você efetua login, o script global relevante é executado primeiro, depois o script local é executado e pode substituir qualquer coisa feita pelo global. Portanto, em .bashrc
(ou equivalente) você teria que anexar ao script, umask 077
para definir o valor como 077. Você também pode executar apenas umask 077
para definir o umask somente para a sessão atual.