我是Go的新手,在阅读默认文件权限/系统掩码时遇到一些问题.当然我可以指定固定权限:
f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0600)
Run Code Online (Sandbox Code Playgroud)
但是我希望程序能够很好地运行,并使用用户的帐户集打开一个文件umask.我怎样才能做到这一点?
它已经像你想要的那样工作.
只需使用"0666"即可应用umask.
f, err := os.OpenFile(fpath, os.O_CREATE|os.O_WRONLY, 0666)
Run Code Online (Sandbox Code Playgroud)
对我来说,umask 0022我得到:
$ go run x.go ; ls -l filename
-rw-r--r-- 1 ask wheel 0 May 24 00:18 filename
Run Code Online (Sandbox Code Playgroud)
如果您总是希望"other"无法读取该文件,请使用0660(例如),无论umask如何.