ファイル新規作成時のパーミッションを変更するには

 ファイルを新規に作成すると、644(-rw-r--r--)や664(-rw-rw-r--)といったパーミッションになる。新規作成時のパーミッションをこれ以外の値にしたい(自分以外は読むことさえできなくするなど)場合は、bashの内部コマンドであるumaskで設定を変更する。

 umaskコマンドでは、許可しないビットを指定する。従って、読み書きを行う設定(666)から設定したいパーミッションを引き算すれば、指定する値が求められる。

 例えば、自分以外のアクセスを禁止する場合は、

666-600=066

となるため、以下のように設定すればいいことになる。

$ umask 066
$ touch foo
$ ls -l
合計 4
-rw-------    1 nori   nori          0  7月 14 16:08 foo

 なお、引数なしでumaskコマンドを実行すると、現在のumask値が表示される。

$ umask
0066

 -pオプションを付けると、そのままコマンドで使える形式で結果が出力される。

$ umask -p
umask 0066

 ちなみに、システム全体のumask値は/etc/bashrcで設定している。/etc/bashrcを開いてumask 0xxの「xx」部分を変更すれば、全ユーザーのumask値を変更できる。