【发布时间】:2015-07-05 20:35:20
【问题描述】:
我正在使用 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/
我在这里做错了什么?
【问题讨论】:
-
检查你的 umask :-)
-
您可以通过在终端中输入
umask(或umask -S)来执行此操作。您还可以尝试使用umask 077设置一个临时的 -
了解 umasks 的工作原理。为“预期”行为将 umask 设置为 0。
标签: go permissions directory