5

我是 Go 新手,在读取默认文件权限/系统掩码时遇到了一些问题。当然我可以指定固定的权限:

f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0600)

但我希望程序表现良好并使用用户的帐户集打开一个文件umask。我怎样才能做到这一点?

4

1 回答 1

10

它已经像你想要的那样工作了。

只需使用“0666”即可应用 umask。

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(例如),无论 umask 是什么。

于 2014-05-24T07:21:24.640 回答