Configurar uma retirada de máscara personalizada no macOS

Cada arquivo ou pasta no Mac tem um conjunto de permissões. Ao criar um arquivo ou pasta, a retirada de máscara determina esses ajustes de permissão.

Estas etapas avançadas são destinadas principalmente a administradores de sistema e outras pessoas familiarizadas com a linha de comando. Tenha cuidado ao alterar as retiradas de máscaras e as permissões dos arquivos. Se você cometer um erro, poderá diminuir a segurança de arquivos, pastas ou apps no seu Mac ou impedir que apps funcionem.

Sobre permissões e retiradas de máscaras

Permissões. Todo arquivo, pasta e app armazenado no seu Mac possui configurações de permissão, que determinam quais contas de usuário podem ler, gravar ou executar o arquivo, pasta ou app. Tais permissões incluem permissões POSIX e listas de controle de acesso (ACLs). Para deixar as permissões POSIX de um usuário mais ou menos restritivas, é possível ajustar o valor da retirada de máscara.

Retiradas de máscaras. Um número de três dígitos pode representar as permissões POSIX de um arquivo. Você pode ver as permissões representadas dessa maneira ao visualizá-las no Terminal. Cada dígito está entre 0 e 7. Ao criar um arquivo, o valor da retirada de máscara é subtraído de um valor padrão (geralmente 666 para arquivos e 777 para pastas) para determinar as permissões do novo arquivo ou pasta. Por exemplo, a retirada de máscara padrão de valor 022 define as permissões de 644 nos novos arquivos e 755 nas novas pastas. 

Você pode definir a retirada de máscara em vários locais, e cada local afeta apps diferentes. Se você definir uma retirada de máscara incorretamente, poderá perder o acesso aos arquivos ou conceder acesso a outros usuários. Consulte a seção MODES da página do manual chmod(1) para obter mais informações.

Retirar máscara para apps do usuário

Inicie sessão como administrador e insira o seguinte comando no Terminal, substituindo nnn pelo valor de retirada de máscara, como 027 ou 002. Este comando define a retirada de máscara do usuário para todos os apps que eles abrem, incluindo apps que acessam na linha de comando e novos arquivos criados por esses apps. Depois de inserir esse comando, talvez seja necessário reiniciar o Mac. 

sudo launchctl config user umask nnn

Se o Terminal responder "Could not write configuration: No such file or directory" (Não foi possível gravar a configuração: esse arquivo ou diretório não existe), verifique se o disco de inicialização tem uma pasta em /private/var/db/com.apple.xpc.launchd/config. Se a pasta Config estiver ausente, tente novamente depois de inserir este comando para criá-la:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Retirada de máscara para processos do sistema

Inicie sessão como administrador e insira o seguinte comando no Terminal, substituindo nnn pelo valor de retirada de máscara, como 027 ou 002. Esse comando define a retirada de máscara do usuário para cada daemon que o usuário executa no contexto do sistema. Isso não é recomendado, pois pode alterar as permissões dos arquivos que o sistema usa. Permissões muito restritivas podem impedir o funcionamento do software, e permissões muito abertas podem apresentar problemas de segurança. Depois de inserir esse comando, talvez seja necessário reiniciar o Mac. 

sudo launchctl config system umask nnn

Se o Terminal responder "Could not write configuration: No such file or directory" (Não foi possível gravar a configuração: esse arquivo ou diretório não existe), verifique se o disco de inicialização tem uma pasta em /private/var/db/com.apple.xpc.launchd/config. Se a pasta Config estiver ausente, tente novamente depois de inserir este comando para criá-la:

sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config

Saiba mais

Para obter mais informações sobre como definir uma retirada de máscara, digite man launchctl no Terminal.

Data da publicação: