Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Reading default FileMode when using os.O_CREATE

Tags:

go

umask

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?

like image 528
LetMeSOThat4U Avatar asked May 24 '14 07:05

LetMeSOThat4U


1 Answers

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.

like image 118
Ask Bjørn Hansen Avatar answered Nov 08 '22 21:11

Ask Bjørn Hansen