このエントリーをはてなブックマークに追加


ファイル作成時のパーミッションを設定する方法・umaskコマンド

ファイルやディレクトリを新規作成したときに設定されるパーミッションの値を指定する方法を以下に記します。


umaskコマンドで現在のマスク値を確認する

umaskコマンドを引数なしで実行し、ファイルやディレクトリを新規作成したときのマスク値を確認してみます。

CentOS5で実行

CentOS5でumaskコマンドを実行したときの出力です。

$ umask
0002

Ubuntu12.04で実行

Ubuntu12.04でumaskコマンドを実行したときの出力です。

$ umask
0002

umaskの動作確認

上記で調べた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を設定して新規作成時は600にになるようにする

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------)となります。

umaskの指定を常に反映したい

.bashrcや.bash_profileにumaskの設定を記述しておけば、ユーザがログインするとumaskが有効になります。
bash以外のシェルを使用している方は、そのシェルに適した設定ファイルを編集してください。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:38