Se você usa o Linux há algum tempo, sabe o quão importantes são as permissões de arquivo do Linux. Mas e as permissões para quando você cria novos arquivos? Um utilitário chamado umask permite definir permissões de arquivo padrão para novos arquivos no Linux.
O que é umask?
Um umask é uma "máscara de bits" que define bits de permissão em novos arquivos. Em sistemas Linux, é um comando autônomo, embora shells modernos como Bash ou Zsh o incluam como um comando interno.
Um umask define quais permissões serão removidas em novos arquivos. Ele usa o sistema de permissão octal numérica semelhante ao de o comando chmod. Você pode pensar em uma umask como subtraindo permissões de certas classes de usuários em novos arquivos.
Um umask padrão comum é 022. Isso deixará as permissões do proprietário do arquivo em paz enquanto remove as permissões de gravação para membros do grupo e outros usuários.
Um umask é mais importante em sistemas multiusuário, como servidores, pois ajuda a manter o sistema seguro restringindo as permissões em novos arquivos por padrão. Se um administrador cria um novo arquivo como root, você não quer que usuários comuns possam escrever nele.
Para ver o umask atual, digite umask na casca. Você pode vê-lo simbolicamente com o -S opção.
umask -S
Configurando umask para um usuário
Você pode definir um umask para uma sessão com o comando umask:
umask 022
Você pode colocar isso em seu arquivo de inicialização do shell, como seu .bashrc ou .zshrc, dependendo de qual shell você usa.
Configurando uma umask em todo o sistema
Se você executar um servidor multiusuário, é uma boa ideia definir uma boa umask em todo o sistema. Você pode fazer isso colocando uma configuração de umask nos arquivos de inicialização do shell global para todos os shells instalados no sistema.
Por exemplo, você pode colocar a configuração umask em /etc/profile, pois isso será lido por Bash e Zsh na inicialização. csh e tcsh lêem o /etc/csh.cshrc e /etc/csh.login arquivos, com o último para shells de login.
Agora você tem as permissões corretas para novos arquivos Linux
Com umask, agora você pode ter certeza de ter as permissões adequadas em novos arquivos no sistema. Mas isso não vai longe o suficiente. Se você deseja maior segurança, você pode querer proteger com senha certos arquivos no Linux. Existem várias maneiras de fazer isso e são fáceis de implementar.