Linuxの勉強をしていて初見のコマンドだったのでメモ
umaskとは
ファイル・ディレクトリ作成時のデフォルトの権限を設定するためのコマンド/値
使い道としては
- umask値の確認
- umask値の変更
に使える。
umask値とは
何も設定せずにファイル/ディレクトリを新規作成すると、ファイルの場合は666(rw-rw-rw-),ディレクトリの場合は777(rwxrwxrwx)で作成される。
これだと権限的に危ないので、umask値を使ってデフォルトの権限を設定することで権限を管理することができる。
例えばumask値が 022
に設定されている場合は
- ファイル: 666 - 022 = 744
- ディレクトリ: 777 - 022 = 755
で作成される。(引き算は各桁で繰り下がりなし)
使い方
引数なしで実行した場合は現在のumask値が表示される
$ umask
022
この状態でファイル・ディレクトリを作成するとこうなる
$ ls -l
total 0
drwxr-xr-x 2 xxx xxx 64 12 7 20:20 hoge
-rw-r--r-- 1 xxx xxx 0 12 7 20:20 hoge.txt
引数にumask値を渡して実行すると該当のシェルのumask値が変更される(ログアウトすると消える)
$ umask 222
この状態でファイル・ディレクトリを作成するとこうなる
$ ls -l
total 0
dr-xr-xr-x 2 k.tanaka staff 64 12 7 20:21 hoge
-r--r--r-- 1 k.tanaka staff 0 12 7 20:21 hoge.txt