Se você criar apenas diretórios com o comando mkdir no prompt do shell, poderá ter:
umask 7
mkdir() (umask 2 && command mkdir "$@")
No seu arquivo de personalização do shell ( ~/.zshrc para zsh , ~/.bashrc para bash ...).
Isso define o umask como 7, mas redefine mkdir para uma função na qual o% realmkdir é chamado (com os mesmos argumentos ( "$@" )) com um umask de 2. (observe que o (...) cria um subshell, então o umask 2 é aplicado apenas dentro dessa função).