umask
ファイル・ディレクトリ生成マスクの設定。シェルの内部コマンド。
(エディタでも touch コマンドでも何でもいいから)ファイルを作成すると、そのファイルのパーミッションは、普通 644 (rw-r--r--) となるはずである。これはもっともな話で、新しいファイルを作るたびにパーミッションが 666 (rw-rw-rw-) や 777 (rwxrwxrwx) になっていては誰でも書き込めてしまい、いちいち chmod しなくてはならず不便である。このように、新規作成したファイル・ディレクトリのパーミッションを決めるのが、umask である。
umask は、新しくファイルを作成する際に、許可*しない*ビットを示すものである。普通、ファイルの新規作成時はファイルの実行ビット (eXecute) は立てないので、umask が 022 ということは、666 から 022 を引いた 644 というパーミッションで新規ファイルが作られることになる。umask が 002 なら 664 、 umask が 000 なら 666 となる。
umask を設定するには、
などとする。作成したファイルを誰にも見せたくなかったら、
とすればいいし、誰にでも読み書きしてほしかったら
とすればいい(もちろんお勧めはしない)。引数を省略すると、現在の umask の値を表示する。
umask が影響を与えるのは、新規ファイル・ディレクトリの作成時だけであって、既に存在するファイルのパーミッションには全く影響を与えない。また、umask の値は親プロセスから引き継がれるが、プロセスごとに独自の umask を設定することができる。
普通は、~/.login や ~/.cshrc の中に umask 022 などと記述しておき、ログインするたびに自動的に umask が設定されるようにしておく。
>> コマンド
chmod *
umask
ファイル新規作成時のパーミッションを指定