As possibilidades de definir umask diferem strongmente entre as distro Linux e Unix.
A maneira como você está tentando fazer isso (no campo "gecos" em /etc/passwd ) depende de pam_umask sendo instalado e configurado. AFAIK este é pelo menos o caso por padrão no Debian e provavelmente distro é baseado no Debian como Ubuntu, Mint, etc ...
Sem pam_umask , você poderia colocar uma linha umask 002 no perfil do shell ou no arquivo rc no diretório inicial dos usuários (por exemplo, .bashrc ou .profile ). Ou algo parecido com isso no arquivo de configuração do sistema, por exemplo /etc/profile (para sh e bash ) ou /etc/bashrc (apenas para o bash):
if [ "$USER" = "souser" ] ; then
umask 0002
else
umask 0022
fi
Você pode verificar se foi bem-sucedido de qualquer forma com apenas um comando umask simples, que produzirá a umask efetiva atual.
Observe que ainda cabe ao aplicativo definir as permissões. Se você usar algum outro programa ou comando que, em seu código, nunca permite definir permissões de gravação de grupo na pasta criada, será necessário alterar o código desse programa ou definir manualmente as permissões posteriormente. É assim que o UNIX / Linux deve funcionar.