设置Flags之前os.FileMode如何转换权限
最初关注
使用时使用八进制或十进制数的 os.FileMode 函数,生成的文件权限似乎并不总是与预期行为匹配。具体来说,传递十进制数(不带前导零)会导致与传递八进制等效值不同的文件属性。
转换逻辑
os.FileMode 接受整数作为输入并在内部将其表示为 32 位无符号整数。 9 个最低有效位对应 Unix 文件权限,而其余 12 位未使用。将八进制数转换为整数时,如果该数字以前导零 (“0”) 开头,则语言规范会将其解释为基数 8。否则,它将将该数字解释为基数 10。
示例
考虑表示权限“rwx-----”的八进制数“0700”。
附加说明
os.FileMode 表示中未使用的 12 位表示特殊文件功能。但是,这些与基本文件权限无关。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3