UNIXのファイル権限を理解する--基本を押さえてセキュリティ向上に役立てる

文:Chad Perrin (Special to TechRepublic) 翻訳校正:村上雅章・野崎裕子
2009-11-24 07:00:00
  • このエントリーをはてなブックマークに追加

権限の表示と変更

権限の表示

 ファイルの権限設定を確認するには、「ls」コマンドで「-l」オプションを指定する。このコマンドをデフォルト設定のFreeBSDシステムにおける/etc/periodicディレクトリに対して実行すると、以下のような結果が出力される。

> ls -l /etc/periodic

drwxr-xr-x  2 root  wheel  1024 Sep  7 09:10 daily
drwxr-xr-x  2 root  wheel   512 Sep  7 09:10 monthly
drwxr-xr-x  2 root  wheel   512 Sep  7 09:10 security
drwxr-xr-x  2 root  wheel   512 Sep  7 09:10 weekly

 各行の先頭に表示されている「d」は、そのファイルがディレクトリであることを示している。続く一連の権限情報部は3文字ずつのかたまりに分けることができ、それらは前から順に所有者、グループ、その他のカテゴリを意味している。また、各カテゴリの3文字は左から順に読み込み、書き込み、実行の権限を意味している。なお、ハイフンはいずれの場所においても、該当のカテゴリにその権限がないことを意味している。従って上記の例においては、/etc/periodic内のディレクトリはいずれも、所有者がrwx(2進数の111、8進数の7)、すなわち「読み込み、書き込み、実行」の権限を有している一方、グループとその他のカテゴリはともにr-x(2進数の101、8進数の5)、すなわち「読み込み、実行」の権限を有しているということになる。

 なお、rootおよびwheelと表示されている列はそれぞれ、これらのファイルに割り当てられている所有者とグループを表している。

権限の変更

 tmp.txtというファイルが手元にあり、その権限を変更したくなったと考えてほしい。このファイルは、現時点で以下のような権限になっているものとする。

> ls -l tmp.txt

-rw-r--r--  1 jon  doe  0 Nov 12 15:30 tmp.txt

 既に説明したように、所有者の変更には「chown」コマンドを、グループの変更には「chgrp」コマンドを用いることになる。コマンドの形式はともに「コマンド名 指定内容 ファイル名」である。このため、tmp.txtファイルの所有者をrootに変更するには以下のコマンドを実行する。

> chown root tmp.txt

 また、tmp.txtファイルのグループをwheelにするには以下のコマンドを実行する。

> chgrp wheel tmp.txt

 さらに、「chmod」コマンド(change mode、すなわちmodeをchangeするコマンド)を用いることで、3つのカテゴリそれぞれの権限を変更することができる。「chmod」を使用する際の最も基本的なシンタックスは「chown」コマンドや「chgrp」コマンドのそれとよく似ているものの、ユーザー名やグループ名の代わりに8進数の値を用いることが基本となっている。このため例えば、tmp.txtファイルの権限を所有者はrwx(2進数の111、8進数の7)に、グループはr-x(2進数の101、8進数の5)に、そしてその他は---(2進数の000、8進数の0)、すなわち一切の権限がない状態にしたい場合、以下のコマンドを実行することになる。

> chmod 750 tmp.txt

 これらのコマンドを実行した後で権限を確認すると、以下のようになっているはずである。

> ls -l tmp.txt

-rwxr-x---  1 root  wheel  0 Nov 12 15:30 tmp.txt

 なお、どのような変更を行う場合でも、その作業を行うユーザーは、該当ファイルに対するシステム権限を有しているだけではなく、その変更に関連しているユーザーやグループに対するシステム権限も有している必要がある。つまり、tmp.txtをrootに割り当てる場合には、rootでログインしている必要があるわけである。

 ここで紹介しているファイル権限や所有者を管理するためのコマンドには、他にも数多くのオプションが用意されている。詳細については各コマンドのmanページを参照してもらいたい(マニュアルの利用法についてはLinux入門:マニュアルページ(manコマンド)活用法を参照されたい)。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]