使用 os.Mkdir() 创建的文件夹权限不正确
A folder created with os.Mkdir() has incorrect permissions
我正在使用 os.Mkdir() 在 go 中创建一个文件夹。虽然它确实被创建了,但它没有我期望的权限。
这是我用来创建目录的代码:
package main
import (
"fmt"
"os"
)
func main() {
err := os.Mkdir("/var/run/testdir", 0777)
if err != nil {
fmt.Println("could not create dir: %s", err.Error())
err = nil
}
}
因为我已将“0777”作为参数,所以我希望创建的目录对每个人都具有完全权限。但是它有:
drwxr-xr-x 2 root root 40 Apr 27 11:43 testdir/
我哪里错了?
创建的文件夹将获得的实际权限是您指定的权限(0777
)和您的进程(运行 Go程序)的活动umask
的结果.
这很可能是创建的文件夹缺少组和其他访问的写入权限的原因。
您可以在 Wikipedia 上阅读有关 umask
的更多信息。
我正在使用 os.Mkdir() 在 go 中创建一个文件夹。虽然它确实被创建了,但它没有我期望的权限。
这是我用来创建目录的代码:
package main
import (
"fmt"
"os"
)
func main() {
err := os.Mkdir("/var/run/testdir", 0777)
if err != nil {
fmt.Println("could not create dir: %s", err.Error())
err = nil
}
}
因为我已将“0777”作为参数,所以我希望创建的目录对每个人都具有完全权限。但是它有:
drwxr-xr-x 2 root root 40 Apr 27 11:43 testdir/
我哪里错了?
创建的文件夹将获得的实际权限是您指定的权限(0777
)和您的进程(运行 Go程序)的活动umask
的结果.
这很可能是创建的文件夹缺少组和其他访问的写入权限的原因。
您可以在 Wikipedia 上阅读有关 umask
的更多信息。