调用os.Mkdir需传入什么os.FileMode值可获得drwxrwxr-x对应权限
Golang os.Mkdir 对应drwxrwxr-x权限的参数说明
首先drwxrwxr-x对应的权限数值为八进制的0775,你直接将该值作为os.Mkdir的第二个参数传入即可。
权限拆解说明
- 第一位
d代表目录类型,不需要在权限参数里单独设置 - 所有者权限:
rwx= 读(4) + 写(2) + 执行(1) = 7 - 所属用户组权限:
rwx= 读(4) + 写(2) + 执行(1) =7 - 其他用户权限:
r-x= 读(4) + 执行(1) =5
三个权限位拼接后得到八进制值0775,可直接匹配os.FileMode类型要求
调用示例
// 第二个参数直接传入八进制数值0775即可 err := os.Mkdir("your_target_dir_path", 0775) if err != nil { // 处理创建目录错误逻辑 }
注意:最终生成的目录权限会受到系统umask值的影响,实际权限计算规则为
0775 & ^umask。如果你需要完全固定为drwxrwxr-x权限,不受umask干扰,可以在创建目录后额外调用os.Chmod手动设置权限:_ = os.Chmod("your_target_dir_path", 0775)
内容的提问来源于stack exchange,提问作者pepsi
相关产品推荐
相关产品推荐

