Tips記事
» 2001年11月14日 00時00分 UPDATE

ファイルやディレクトリ作成時の初期パーミッション設定を変えたい〜umask〜

[木田佳克,ITmedia]

 通常,「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.

注目のテーマ