为什么 os.OpenFile 不会创建 777 文件
Why will os.OpenFile not create a 777 file
我正在尝试创建一个 0777 文件,但 os.OpenFile 只会为我创建一个 775 文件。你能告诉我为什么权限设置不正确吗?
package main
import (
"fmt"
"os"
)
func main(){
nf, _ := os.OpenFile("hello", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0777)
fileStat, _ := nf.Stat()
fmt.Printf("File created with permission: %v \n", fileStat.Mode().String())
// Output is:
// File created with permission: -rwxr-xr-x
// Why is this is 0775 not 0777
}
如“os.MkDir and os.MkDirAll permission value?”中所述:
these permissions are 'filtered' by whatever umask
has been set.
因此,请先检查您的 umask 是否已设置(例如 002):这将解释为什么创建的文件显示为 775 而不是 777 (umask 000)
我正在尝试创建一个 0777 文件,但 os.OpenFile 只会为我创建一个 775 文件。你能告诉我为什么权限设置不正确吗?
package main
import (
"fmt"
"os"
)
func main(){
nf, _ := os.OpenFile("hello", os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0777)
fileStat, _ := nf.Stat()
fmt.Printf("File created with permission: %v \n", fileStat.Mode().String())
// Output is:
// File created with permission: -rwxr-xr-x
// Why is this is 0775 not 0777
}
如“os.MkDir and os.MkDirAll permission value?”中所述:
these permissions are 'filtered' by whatever
umask
has been set.
因此,请先检查您的 umask 是否已设置(例如 002):这将解释为什么创建的文件显示为 775 而不是 777 (umask 000)