Os bits no umask
do processo atual são apagados quando o arquivo é criado. Neste caso, parece que o umask é 0002
(no world write). Ligue para umask()
antes de chamar open()
para alterar isso.
Soapbox: por favor, não crie arquivos graváveis do mundo, a menos que você esteja realmente certo de que é isso que você quer. O umask
existe para salvar você e seus usuários de exatamente esse tipo de vulnerabilidade.