Definir um umask personalizado no macOS
Todos os ficheiros e pastas do Mac possuem um conjunto de permissões. Ao criar um novo ficheiro ou pasta, o umask determina estas permissões.
Acerca de permissões e umasks
Permissões. Todos os ficheiros, pastas e apps armazenados no Mac possuem definições de permissão, que determinam as contas de utilizador que podem ler, escrever ou executar os ficheiros, pastas ou apps. Estas incluem permissões POSIX e listas de controlo de acesso (ACLs). Para tornar as permissões POSIX de um utilizador mais ou menos restritivas, pode ajustar o valor de umask.
Umasks. Um número de três dígitos pode representar as permissões POSIX para um ficheiro. Pode ver as permissões representadas desta forma quando as visualiza a partir do Terminal. Cada dígito é entre 0 e 7. Quando cria um ficheiro, o valor de umask é subtraído de um valor predefinido (normalmente 666 para ficheiros e 777 para pastas) to determinar as permissões para o novo ficheiro ou pasta. Por exemplo, um umask predefinido de 022 define permissões de 644 em novos ficheiros e 755 em novas pastas.
Pode definir o umask em várias localizações e cada localização afeta apps diferentes. Se definir um umask incorretamente, poderá perder o acesso aos ficheiros ou conceder acesso a outros utilizadores. Consulte a secção MODES da página do manual chmod(1)
para obter mais informações.
Umask para apps de utilizador
Inicie sessão como administrador e introduza o comando seguinte no Terminal, substituindo nnn
pelo valor de umask, como 027 ou 002. Este comando define o umask do utilizador para cada app que abrir, incluindo as apps a que acede a partir da linha de comandos e os novos ficheiros criados por essas apps. Após a introdução deste comando, poderá ter de reiniciar o Mac.
sudo launchctl config user umask nnn
Se o Terminal responder "Não foi possível escrever a configuração: ficheiro ou diretório inexistente", certifique-se de que o disco de arranque possui uma pasta em /private/var/db/com.apple.xpc.launchd/config. Se a pasta de configuração não existir, tente novamente após introduzir o comando seguinte para a criar:
sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config
Umask para processos do sistema
Inicie sessão como administrador e introduza o comando seguinte no Terminal, substituindo nnn
pelo valor de umask, como 027 ou 002. Este comando define o umask do utilizador para cada daemon executado no contexto do sistema. Esta ação não é recomendada, pois pode alterar as permissões para ficheiros utilizados pelo sistema. As permissões demasiado restritivas podem impedir que o software funcione e as permissões demasiado abertas podem introduzir problemas de segurança. Após a introdução deste comando, poderá ter de reiniciar o Mac.
sudo launchctl config system umask nnn
Se o Terminal responder "Não foi possível escrever a configuração: ficheiro ou diretório inexistente", certifique-se de que o disco de arranque possui uma pasta em /private/var/db/com.apple.xpc.launchd/config. Se a pasta de configuração não existir, tente novamente após introduzir o comando seguinte para a criar:
sudo mkdir -m 755 /private/var/db/com.apple.xpc.launchd/config
Mais informações
Para obter mais informações sobre como definir um umask, introduza man launchctl
no Terminal.