ファイルやディレクトリを新規作成したときに設定されるパーミッションの値を指定する方法を以下に記します。
umaskコマンドを引数なしで実行し、ファイルやディレクトリを新規作成したときのマスク値を確認してみます。
CentOS5でumaskコマンドを実行したときの出力です。
$ umask 0002
Ubuntu12.04でumaskコマンドを実行したときの出力です。
$ umask 0002
上記で調べたumaskのデフォルト値でtouchコマンドを使用して新規にファイルを作成してみます。
$ touch umasktest1 $ ls -l umasktest1 -rw-rw-r-- 1 sakura sakura 0 12月 18 20:03 umasktest1
umaskは、666(-rw-rw-rw-)からumaskで設定された値を引きます。
したがって、666 - 2 になるので、664(-rw-rw-r--)となります。
umaskを設定してオーナーのみ、読み書き可能とするには、以下のようにします。
(umask 66でも同様の動作となりました。)
umask 0066
実際に実行した結果を以下に記します。
$ umask 0066 $ umask 0066 $ touch umasktest2 $ ls -l umasktest2 -rw------- 1 sakura sakura 0 12月 18 20:09 umasktest2
上記の動作は、666 - 66となるため、600(-rw------)となります。
.bashrcや.bash_profileにumaskの設定を記述しておけば、ユーザがログインするとumaskが有効になります。
bash以外のシェルを使用している方は、そのシェルに適した設定ファイルを編集してください。