umask не указывает напрямую режим; он определяет маску, применяемую к базовому режиму, сообщая ей, какие биты следует очистить (но не какие из них установить).
Возможно, неинтуитивно, он также инвертирован: 0 бит означает «не меняются», а 1 бит означает «очистить (замаскировать) этот бит». Таким образом, 0707 очищает все биты пользователь / мир, а 0777 очищает все.
То, что вы хотите, это либо 0, 07, либо 077 (в зависимости от того, должны ли файлы быть читаемыми по группе и всему миру).