このページの位置情報

パーミッションについて

パーミッションとは、ファイルやディレクトリに対するアクセス権限です。

WEBサーバーで使用されているOS(UNIX系OSのLinux)は もともと1台のコンピュータを複数人で共用する事を想定して設計されているため、 自分以外の使用者に自分のファイルを不正に操作されないために、ファイルに対してアクセスの権限を設定する事が出来る様になっています。 権限が与えられていない使用者はそのファイルにアクセスする事が出来なくなります。

弊社WEBサーバーも1台のコンピュータを複数のお客様で共用してご利用頂く仕組みになっておりますので、 パーミッションの設定が正しく行われていないとファイルの内容を不正に見られたり書き換えられたりしてしまう可能性が生じます。 以下の説明をよくお読み頂き、正しいパーミッションを設定してご利用下さい。

パーミッションを変更しなければならないケース
パーミッションを変更する必要があるケースは主に以下の2つです。

  • CGIを使用する
  • 「.htaccess」ファイルを使用する
特に、アクセスカウンター・フォームメール・掲示板などのCGIは適切なパーミッションを設定しなければ動作しませんので、ご注意下さい。

パーミッション設定の方法
当該サーバー上に置かれているファイルやディレクトリのパーミッションを変更するにはFTPソフトを使用します。 サーバーにTelnet接続を行う事が出来ませんので、TelnetでUNIXコマンド(chmod)を使用してパーミッションの変更を行う事は出来ません。

権限の種類
パーミッションの設定では、そのファイルの所有者(Owner)・そのファイルの所有者と同じグループに属しているユーザー(Group)・ その他の第三者(Other)のそれぞれに対し、ファイルの内容を読み取る権限(Read)・ファイルに内容を書き込んだり削除する権限(Write)・ ファイルをプログラムとして実行する権限(eXecute)を個別に設定する事が出来ます。

例えば、所有者のみに読み取り(Read)・書き込み(Write)・実行(eXecute)の権限を与え、 同じグループに属しているユーザーや第三者に一切の権限を与えない状態を表にすると以下の様になります。
    (表1) 所有者
    (Owner)
    グループ
    (Group)
    第三者
    (Other)
    読み取り
    (Read)
    書き込み
    (Write)
    実行
    (eXecute)
別の例として、所有者に読み取り(Read)・書き込み(Write)の権限だけを与え、 同じグループに属しているユーザーや第三者には読み取り(Read)の権限だけを与える状態を表にすると以下の様になります。
    (表2) 所有者
    (Owner)
    グループ
    (Group)
    第三者
    (Other)
    読み取り
    (Read)
    書き込み
    (Write)
    実行
    (eXecute)

パーミッションの表記(アルファベット)
パーミッションにはアルファベットと数字の2通りの表記方法があります。 アルファベットで表記する場合は、9桁のアルファベットで表記します。

アルファベット表記の場合は、以下の様に左の3桁が所有者、中央の3桁がグループ、右の3桁が第三者に対してのアクセス権を表します。 例えば、所有者・グループ・第三者のすべてに読み取り(r)・書き込み(w)・実行(x)の権限を与えた状態は rwxrwxrwx と表記します。
    対象のユーザー 所有者 グループ 第三者
    パーミッションの表記 r w x r w x r w x
rは読み取り(Read)のr、wは書き込み(Write)のw、xは実行(eXecute)のxです。 アルファベットが書かれている場合は、該当する桁の部分にアクセス権限が与えられている事を意味します。

アクセス権限が与えられていない場合は、その部分のアルファベットを「-」に変えて表記します。 例えば、上記の(表1)の状態は所有者のみに読み取り(r)・書き込み(w)・実行(x)の権限を与え、 グループと第三者にはすべての権限を与えていませんので rwx------ と表記します。
    対象のユーザー 所有者 グループ 第三者
    パーミッションの表記 r w x - - - - - -
同様に(表2)の状態は所有者のみに読み取り(r)・書き込み(w)の権限を与え、 グループと第三者には読み取り(r)の権限だけを与えていますので rw-r--r-- と表記します。
    対象のユーザー 所有者 グループ 第三者
    パーミッションの表記 r w - r - - r - -

パーミッションの表記(数字)
パーミッションを数字で表記する場合は、3桁の数字で表記します。

数字はアルファベット表記のrを4、wを2、xを1、-を0と数え、対象のユーザーごとにその数を合計したものになります。 例えば、アルファベット表記で rwxrwxrwx の状態は数字表記で 777 と表記します。
    対象のユーザー 所有者 グループ 第三者
    アルファベット表記 r w x r w x r w x
    数字表記 7
    (4+2+1)
    7
    (4+2+1)
    7
    (4+2+1)
(表1)の状態はアルファベット表記で rwx------ ですので、数字表記では 700 となります。
    対象のユーザー 所有者 グループ 第三者
    アルファベット表記 r w x - - - - - -
    数字表記 7
    (4+2+1)
    0
    (0+0+0)
    0
    (0+0+0)
(表2)の状態はアルファベット表記で rw-r--r-- ですので、数字表記では 644 となります。
    対象のユーザー 所有者 グループ 第三者
    アルファベット表記 r w - r - - r - -
    数字表記 6
    (4+2+0)
    4
    (4+0+0)
    4
    (4+0+0)
設定するパーミッションの値
弊社WEBサーバーでは、パーミッションを以下の値に設定してご利用下さい。

    設定する値 一般的な値(参考)
    お客様が作成したディレクトリ 705 ( rwx---r-x ) 755 ( rwxr-xr-x )
    HTML・画像ファイル等 604 ( rw----r-- ) 644 ( rw-r--r-- )
    CGIの実行ファイル 700 ( rwx------ ) 755 ( rwxr-xr-x )
    CGIのデータファイル 600 ( rw------- ) 666 ( rw-rw-rw- )
    .htaccessファイル 604 ( rw----r-- ) 644 ( rw-r--r-- )
他サーバーの一般的な値とは若干異なる値を設定して頂く必要がございますので、 ご利用になるCGIのマニュアルやドキュメントに一般的な値が記載されている場合も、 そちらに記載されている値ではなく「設定する値」の欄に書かれている値を設定して頂く事をお勧め致します。

パーミッションによるセキュリティの確保
パーミッションが適切な値に設定されていないと、ファイルの内容を不正に見られたり書き換えられてしまう可能性が生じます。 セキュリティを高めるための最も基本的な方法は、不要なアクセス権限を与えない事です。グループに対してアクセス権を与える事はセキュリティの低下につながります。

もともと不特定多数の人に公開する目的で設置するHTMLファイルや画像ファイルであれば ファイルを転送した時点で自動的に設定される 644 ( rw-r--r-- ) のままでも差し支えありませんが、 CGIのデータファイルなど直接内容を参照・変更されたくないファイルの場合は グループに対するアクセス権限を与えない 600 ( rw------- )や 604 ( rw----r-- ) の状態に設定して下さい。