通常,「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」に定義されていることもあるため確認しておいたほうがよい。
・関連Tips
同一ドメイン内で他ユーザーからのアクセスを禁止したい
Copyright © ITmedia, Inc. All Rights Reserved.