golang os.Mkdir() 解决linux下创建目录不是指定的权限

golang_S1-l6gVIX.jpg

说明

由于Linux下有个掩码(umask)的概念,详细的就不在这里说了。

解决方法

package main

import (
    "os"
    "syscall"
)

func main() {
    oldMask := syscall.Umask(0)
    os.Mkdir("abc", os.ModePerm)
    syscall.Umask(oldMask)
}