この記事は会員限定です。会員登録すると全てご覧いただけます。
通常、「touch [ファイル名]」などと指定して0バイトのファイルを作成すると、パーミッションは644(rw-r--r--)として作成されるはずだ。作成されるファイルやディレクトリが666(rw-rw-rw-)や777(rwxrwxrwx)であってはすべてのユーザーから書き込みや削除が可能になってしまう。
このように新規作成されるファイルやディレクトリのパーミッションを制御するのが「umask」である。
注意しなければならないのは、umaskで設定するのはパーミッションビット(666や777など)そのもののではなく、許可しないビットを指定する点だ。通常、ファイルの新規作成であれば実行ビット (5、eXecute)は必要無いことから、644のビットであればumask指定の場合、666から644を引いて「022」となる。664であれば「002」、666であれば「000」だ。
umask設定をするには、
$ umask 022
などと指定すればよい。オプションを省略して単にumaskと入力すると、現在のumask値が表示される。
$ umask 002
通常は、シェルログインの際に実行される「~/.bash_profile」などに「umask 022」などという行を加えておけばよいだろう。新規作成されるファイルやディレクトリに適用される設定のため、既存のファイルには影響を与えない、ということも覚えておこう。
$ cat .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin umask 022 export PATH unset USERNAME
なお、環境によっては「/etc/profile」に定義されていることもあるため確認しておいたほうがよい。
Copyright © ITmedia, Inc. All Rights Reserved.