Goでファイル作成時の権限の指定

Go

os.OpenFileなど、引数にFileModeを受け取るものがあります。
上位bitはosパッケージにいくつかの定数が定義されているのでそれを使います。
下位9bitはPOSIXのパーミッションを指定しますが、全ての権限を指定するos.ModePermしか定義されていないので自分で数値を8進数で指定します。
3bitごとに上から「所有者」「所有グループ」「その他」の順で指定します。
3bitのそれぞれのbitは以下に示したものを表しています。

  • r 読み取り
  • w 書き込み
  • x 実行

例えば所有者はすべての権限、所有グループは読み取りと書き込み、その他は読み取りの権限を指定する場合は以下のbitになります。


[111][110][100]

8進数で表すと0764になります。
最初に0を付けないと、10進法になって別の値になるのに注意してください。
特にパーミッションの指定が必要ないときは0777またはos.ModePerm(値は0777)を指定します。

この記事へのコメント

最近のトラックバック