I'm new to Go, have a bit of a problem with reading default file permissions / system mask. Of course I can specify fixed permissions:
f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0600)
But I would like the program to behave nicely and open a file with user's account set umask
. How can I do that?
It already works like you want it.
Just use "0666" and the umask will be applied.
f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0666)
For me with umask 0022
I get:
$ go run x.go ; ls -l filename
-rw-r--r-- 1 ask wheel 0 May 24 00:18 filename
Use 0660 (for example) if you always want the file to be unreadable by "other", no matter the umask.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With