umaskコマンドについて詳しくまとめました 【Linuxコマンド集】

umaskコマンド
  • このエントリーをはてなブックマークに追加
  • Pocket

umaskは新規ファイルや新規ディレクトリの作成時のアクセス権(パーミッション)を設定するコマンドだ。

umaskの説明の前にまずは、lsコマンドの-lオプションでファイルの属性を見てファイル属性について理解しよう。

umaskコマンド

ファイル属性は「-rwxrw-r--」となっており、はじめの1文字は「ファイルタイプ」で、-がファイル、dがディレクトリ、lがシンボリックリンクだ。

次からの9文字が「ファイル属性(バーミッション)」である。

ファイル属性は、3文字ごとに区切り、はじめの3文字はファイル所有者のできる権限、次の3文字はグループのできる権限、最後の3文字はゲストユーザーができる権限を表している。

xは実行ができる権限、wは書き込みができる権限、rは読み込みができる権限、-は何もできない権限だ。

つまり、「-rwxrw-r--」では所有者は、そのファイルを実行と読み書きができる、グループは読み書きが出来るが実行はできない、ゲストユーザーは読み込むことしかできないという権限である。

この権限はファイル所有者かroot権限を持つユーザーがchmodコマンドで変更できる。

umaskコマンドは、新規ファイルや新規ディレクトリを作成した時に設定するファイル属性を設定するコマンドだ。

umaskコマンドの基本

コマンドの基本動作

使い方は、次のとおりだ。

$ umask

現在の新規ファイルや新規ディレクトリを作成した時に設定するファイル属性が確認できる。

umaskコマンド

属性は、3桁、または4桁の数値で表示されている。

実際に設定されている値は下位3桁を確認すればわかる。

1文字目が所有者、2文字目がグループ、3文字目がゲストユーザーの設定だ。

ここで注意したいのは、ディレクトリの場合は実行可能の設定は可能だが、ファイルの場合は実行可能に設定することはできないため、ファイルを実行可能にする場合は、後からchmodコマンドで指定する必要がある。

$ umask 設定する属性

変更可能であれば0、実行を不可にするには1、書き込みを不可にするには2、読み込みを不可にするには4でその数字の合算したものを指定する。

例えば171であれは、所有者とゲストユーザーは実行が不可でグループには実行、読み書きはできない設定となる。

ゲストユーザーのファイル属性をすべて変更できないとする場合は、次のコマンドだ。

$ umask 007

umaskコマンド

ゲストユーザーのファイル属性を操作できない設定とした。

umaskコマンド

mkdirコマンドで新規作成したディレクトリ「test」の属性は「-rwxrwx---」とゲストユーザーのファイル属性を操作できない設定で作成された。

umaskコマンドのオプションたち

オプションの一覧

後から詳細をご紹介するが、まずは一覧で見てみよう。

オプション-S

属性をシンボルで指定する

-Sオプション:属性をシンボルで指定する

数字で属性を指定する場合、把握しにくい場合があり、属性をシンボルで指定することができる。

シンボルはuが所有者(user)、gがグループ(group)、oがその他ゲストユーザー(other)で、xが実行権限、rが読み取り権限、wが書き込み権限だ。

属性をシンボルで指定する書式は次のとおりだ。

$ umask -S ユーザー=属性

属性をシンボルで指定した場合は数値で指定した場合と逆になり、指定した属性に沿ったファイルが生成される。例えば新規作成されるファイルのグループ属性に書き込み権限を付加する場合は、次のコマンドだ。

$ umask -S g=w

umaskコマンド

mkdirコマンドで新規作成したディレクトリの属性は「-rwx-w-r-x」となる。

umask関連コマンド

最後にumaskコマンドに関連して、基本的なファイルの属性を部分的に変更不可にするコマンドも紹介しておく

chmodコマンド

ファイルの属性を変更する

chownコマンド

ファイルの所有者を変更する

chgrpコマンド

ファイルのグループを変更する

lsコマンド

ファイルの属性などを確認する

まとめ

ファイルのパーミッションはよく変更することがあり、chmodコマンドはchownなどと組み合わせてよく使うが、umaskを活用することで効率の良いパーミッションの変更やセキュリティ対策ができるので、ぜひ把握しておこう。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

  1. sato より:

    内容間違ってないですか?
    umask -S u=rwx,g=w,o=rx として、mkdirをすると、できるディレクトリの属性はdrwx-w-r-xになります。

    シンボリック形式でumaskを記載した場合、8進数で記載する場合と逆の意味になります。
    ArchLinuxのものですが、ドキュメンテーションにも以下のように記載されています。

    > the symbolic notation value will always be the logical complement of the octal value

    https://wiki.archlinux.org/title/Umask

    1. リカレントテクノロジー より:

      いつもご愛読ありがとうございます。

      記事に反映させていただきました。
      ご指摘ありがとうございました。

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する