なぜ新しいファイルは 644 になるのか

umask という型が、新しいファイルの権限から一部を削り取ってデフォルトを決める
umask という型が、新しいファイルの権限から一部を削り取ってデフォルトを決める

touch でファイルを作ると、多くの環境(macOS など)ではパーミッションが自動的に 644(rw-r--r--)になる。自分で設定した覚えはないのに。この「デフォルト」を決めているのが umask という仕組みだ。

umask はファイル作成時に「付けない権限」を指定する。よく使われる umask 値 022 は「グループとその他から書き込み権限を外す」という意味。ファイルの基本値 666(= 全員が読み書きできる) から、022 の分の権限を外した 644 が結果になる。引き算ではなく、権限を外す計算だ。Ubuntu の一般ユーザーのように umask が 002 の環境では 664 になる。

umask の値は .bashrc や .zshrc で変更できる。チームのセキュリティポリシーに合わせて調整するのもサーバー管理者の仕事のひとつだ。