Неправильное разрешение файла

#file #go #permissions

# #файл #Вперед #разрешения

Вопрос:

 package main

import "io/ioutil"

func main() {
    greeting := "Hi there!n"
    ioutil.WriteFile("myFile", []byte(greeting), 0666)
}
 

Проблема в том, что когда я записываю в файл, используя биты разрешений Unix, например:

«0666»

Ожидается: -rw-rw-rw

Вместо этого я получаю: -rw-r—r—

Пожалуйста, помогите.

Комментарии:

1. umask Вероятно 022 , это так, так что это правильный результат.

2. Если файл уже существует, то WriteFile обрезает его перед записью, не изменяя разрешения.

3. Спасибо @JimB, причиной является umask, и это был недавно созданный файл, но полезно знать