フラグを設定する前に os.FileMode がアクセス許可を変換する方法
元々の懸念事項
os.FileMode 関数に 8 進数または 10 進数を指定すると、結果として得られるファイルのアクセス許可が予期される動作と必ずしも一致するとは限りません。具体的には、10 進数 (先頭のゼロなし) を渡すと、同等の 8 進数を渡す場合とは異なるファイル属性になります。
変換ロジック
os.FileMode は入力として整数を受け入れます。内部的には 32 ビットの符号なし整数として表されます。最下位 9 ビットは Unix ファイルのアクセス許可に対応し、残りの 12 ビットは未使用です。 8 進数を整数に変換する場合、言語仕様では、先頭がゼロ (「0」) で始まる数値を基数 8 として解釈します。それ以外の場合は、数値を基数 10 として解釈します。
例
アクセス許可「rwx------」を表す 8 進数「0700」について考えてみましょう。
補足
os.FileMode 表現内の未使用の 12 ビットは、次のことを示します。特殊なファイル機能。ただし、これらは基本的なファイル権限には関係ありません。
以上がos.FileMode はフラグを設定する前にどのようにアクセス許可を変換しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。