デフォルトのパーミッション


Linuxには、umaskという密かに便利なコマンドがあって、これを使用するとデフォルトのパーミッションを確認したり、設定することが可能です。

同じグループのユーザー全員に書き込み権限を与えたいときなどは、いちいち「chmod g+w ./foo.txt」なんてことをするよりも、デフォルトのパーミッションを変更したほうが効率的です。

umask 0002

作業開始時に、以上のコマンドを入力すると、そのあと新規作成されるディレクトリやファイルは、グループ全員に対する書き込み権限が設定されます。

以下の例では、foo.txtを作成した際のパーミッションが664になっていることをご確認できるかと思います。

[miya@marlin test]$ umask 0002
[miya@marlin test]$ touch foo.txt
[miya@marlin test]$ ls -al
合計 12
drwxrwxr-x   2 miya group 4096 11月 30 02:56 .
drwxrwxr-x  10 miya group 4096 11月 30 02:56 ..
-rw-rw-r--   1 miya group    0 11月 30 02:56 foo.txt

umaskで指定する数値の意味は、0777(ファイルは0666)からいくつ引き算するかと言うことなのですが、「0022」(これがデフォルトです)か「0002」以外を使うシチュエーションは少ないので、あえて深くは説明しません。

グループに書き込み権限を与えたいときは、「0002」。
デフォルトに戻すときは、「0022」と覚えておきましょう。

ちなみに、umaskコマンドで指定しただけでは、次回ログイン時にはumask設定値が元に戻ってしまいます。
.bashrcなどに記述しておくと次回ログイン以降も自動的に有効になりますが、これは上司の了解を得た方がよいかも。(笑)

ホームページ制作・システム開発のシータネットワークス


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>