Чтение FileMode по умолчанию при использовании os.O_CREATE
Я новичок в Go, у меня есть небольшая проблема с чтением прав доступа к файлу по умолчанию / системной маски. Конечно, я могу указать фиксированные разрешения:
f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0600)
Но я бы хотел, чтобы программа работала хорошо и открывала файл с установленной учетной записью пользователя. umask
, Как я могу это сделать?
1 ответ
Решение
Это уже работает так, как вы этого хотите.
Просто используйте "0666", и маска будет применена.
f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0666)
Для меня с umask 0022
Я получил:
$ go run x.go ; ls -l filename
-rw-r--r-- 1 ask wheel 0 May 24 00:18 filename
Используйте 0660 (например), если вы всегда хотите, чтобы файл не читался "другим", независимо от значения маски.