umaskコマンド


図解60p「Linuxサーバー構築入門マニュアル」無料
登録10秒/自動返信でDL/合わなければ解除3秒

使用ユーザーのアクセス権限の初期設定を変更、確認する

■-- 文法 --■

umask (マスク)

     例)
       umask▲022
       新規に作成するファイルやディレクトリのアクセス権限の初期値を変更する
※▲はスペースを表してます。


■ オプション

マスク 新しくファイルを作成すると普通、権限は「644」(-rw-r--r--)になる、しかしこのマスクで値を変更するとファイルやディレクトリを新しく作成した場合の初期のアクセス権限を変更することができる

■ 実行例

-----------------------------------------------------------------
$ touch test.txt  ←「test.txt」ファイルをつくる

$ ls -l       ←「test.txt」ファイルの詳細情報を表示する
total 0
-rw-r--r-- 1 pakira pakira 0 Oct 8 01:38 test.txt
↑アクセス権限が「rw-r--r--(644)」で設定されている

$ umask 002     ←アクセス権限の初期値を変更する

$ touch test2.txt  ←「test2.txt」ファイルをつくる
$ ls -l
total 0
-rw-r--r-- 1 pakira pakira 0 Oct 8 01:38 test.txt
-rw-rw-r-- 1 pakira pakira 0 Oct 8 01:39 test2.txt
↑「test2.txt」ファイルのアクセス権限が「rw-rw-r--(664)」で設定されている


※「touch」コマンドは空ファイルを作るときに使うコマンドです。
  詳しいことは今後、ご紹介する予定です。

-----------------------------------------------------------------
viやtouchコマンドなどで、ファイルを作成すると、そのファイルのアクセス
権限は普通『644』になります。

 ◆「644」の意味は、所有者、つまりあなたは、そのファイルに「読みこみ」、「書き込み」ができますが、それ以外のグループユーザやその他のユーザは、「読みこみ」しかできない状態です。

アクセス権限については、こちらをご覧ください
 「chmod コマンド


「umask」コマンドは、ファイルが作られたときの初期アクセス権限を変更します。 umaskで指定する値は『 禁止 』したい権限を指定します。

ファイル作成時に与えられる最大の権限は「666」までの、「読みこみ」、「書き込み」権限だけです。実行権限はありません。


上の例だと、umaskコマンドで設定した値「002」は「666」からを引いた値の結果「664」をファイル作成時に設定されるアクセス権限にしています。

 ◆これは、所有者とグループユーザのみ読みこみ、書き込みができて、その他のユーザーは読みこみしかできない権限です。


簡単にいうと、「666」からumaskコマンドで設定した値を引いた結果が、初期アクセス権限になります。

ちなみに、ディレクトリは初期権限が「755」で、最大「777」の全権限を設定できます。

ファイル作成時にアクセス権限が「644」に設定されるのは、もしファイルのアクセス権限が「666」なら、誰でも読み書きが出来てしまいます。
それは、セキュリティ上好ましくないので、初期値として「umask 022」が設定されているようです。

◆また、値を設定しないで「umask」コマンドのみで、実行すると、現在umaskコマンドで設定されている値が表示されます。

-----------------------------------------------------------------
$ umask   ←「umask」コマンドを実行する
022     ←「マスク値」が「022」なのが確認できます
-----------------------------------------------------------------



無料プレゼント
図解60p「Linuxサーバー構築入門マニュアル」
独学で詰まる前に、“型(手順書)”で最初の環境構築をサクッと終わらせましょう。
登録10秒/自動返信でDL/合わなければ解除3秒
無料で受け取る ※メールアドレスだけでもOK(必須項目は最小限)

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

<<関連記事>>
・pstree
・chsh
・finger
・du
・uname

図解60pのLinux無料マニュアル
登録10秒/自動返信でDL
無料で受け取る