ファイル転送~パーミッション

1. パーミッションとは

パーミッションとは、ファイルやディレクトリに対するアクセス権限のことです。
Webスタンダードサービスのサーバーで使用されているOS(UNIX系OSのLinux)はもともと1台のコンピュータを複数人で共用することを想定して設計されているため、自分以外の使用者に自分のファイルを不正に操作されないために、ファイルに対してアクセスの権限を設定できます。
権限が与えられていない使用者はそのファイルにアクセスできません。

Webスタンダードサービスのサーバーも1台のコンピュータを複数のお客様で共用して利用する仕組みのため、パーミッションを正しく設定しないとファイルの内容を不正に見られたり書き換えられたりしてしまう場合があります。

初期状態でサーバー上に作られているディレクトリ」のパーミッションは ディレクトリ構造 に記載されています。
これらのパーミッションはセキュリティの高い状態を維持するため、お客様にて変更ができません。
お客様にて任意に作成したディレクトリやファイルについては設定できます。

2. パーミッションの変更

パーミッションの変更はFTPで行います。
Telnet/SSHでサーバーに接続することはできません ので、UNIXのchmodコマンドを入力してパーミッションを変更することはできません。

3. パーミッションを変更しなければならないケース

パーミッションを変更する必要があるのは、主に CGIを使用する場合 です。
HTML・画像ファイルなどの場合は、標準のパーミッション(640)のまま変更する必要はありません。

4. パーミッションの表記 (アルファベット)

パーミッションにはアルファベットと数字の2とおりの表記方法があります。アルファベットで表記する場合は、9桁のアルファベットで表記します。
アルファベット表記の場合は、次の様に左の3桁が所有者、中央の3桁がグループ、右の3桁が第三者に対してのアクセス権を表します。

rは読み取り(Read)のrwは書き込み(Write)のwxは実行(eXecute)のx です。
アルファベットが書かれている場合は、該当する桁の部分にアクセス権限が与えられていることを意味します。

アクセス権限が与えられていない場合は、その部分のアルファベットを「-」に変えて表記します。
例えば、本ページ4.権限の種類にある(例1)の状態は所有者のみに読み取り(r)・書き込み(w)・実行(x)の権限を与え、グループと第三者にはすべての権限を与えていませんので rwx------と表記します。

対象のユーザー 所有者(Owner) グループ(Group) 第三者(Other)
パーミッションの表記 r w x - - - - - -

同様に(例2)の状態は所有者のみに読み取り(r)・書き込み(w)の権限を与え、グループと第三者には読み取り (r)の権限だけを与えていますので rw-r--r--と表記します。

対象のユーザー 所有者(Owner) グループ(Group) 第三者(Other)
パーミッションの表記 r w - r - - r - -

5. パーミッションの表記 (数字)

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

数字はアルファベット表記の rを4wを2xを1-を0 と数え、対象のユーザーごとにその数を合計したものになります。
例えば、(表1)の状態はアルファベット表記で rwx------ですので、数字表記では 700 となります。

対象のユーザー 所有者(Owner) グループ(Group) 第三者(Other)
アルファベット表記 r w x - - - - - -
数字表記 7
(4+2+1)
0
(0+0+0)
0
(0+0+0)

(表2)の状態はアルファベット表記で rw-r--r--ですので、数字表記では644となります。

対象のユーザー 所有者(Owner) グループ(Group) 第三者(Other)
アルファベット表記 r w - r - - r - -
数字表記 6
(4+2+0)
4
(4+0+0)
4
(4+0+0)

6. 設定するパーミッションの値

Webスタンダードサービスのサーバーでは、パーミッションを次の値に設定してご利用ください。

  設定する値 一般的な値(参考)
お客様が作成したディレクトリ 750 ( rwxr-x--- ) 755 ( rwxr-xr-x )
HTML・画像ファイルなど 640 ( rw-r----- ) 644 ( rw-r--r-- )
CGIの実行ファイル 700 ( rwx------ ) 755 ( rwxr-xr-x )
CGIのデータファイル 600 ( rw------- ) 666 ( rw-rw-rw- )
.htaccessファイル 640 ( rw-r----- ) 644 ( rw-r--r-- )
.htpasswdファイル 640 ( rw-r----- ) 644 ( rw-r--r-- )

他サーバーの一般的な値とは若干異なる値を設定する必要がありますので、ご利用になるCGIのマニュアルやドキュメントに一般的な値が記載されている場合もそちらに記載されている値ではなく 「設定する値」欄に書かれている値を設定することをおすすめします。

7. パーミッションによるセキュリティの確保

パーミッションが適切な値に設定されていないと、ファイルの内容を不正に見られたり書き換えられてしまう可能性が生じます。セキュリティを高めるための最も基本的な方法は、不要なアクセス権限を与えないことです。
特にWebスタンダードサービスのサーバーの場合、第三者(Other)に対してアクセス権を与えることはセキュリティの低下につながります。
そのため、セキュリティの低いパーミッションに変更されていた場合、サービス提供側にてお客様への事前通知なしに初期値に戻す場合があります。あらかじめご了承ください。

もともと不特定多数の人に公開する目的で設置するHTMLファイルや画像ファイルであればファイルを転送した時点で自動的に設定される 640 ( rw-r----- )のままで差し支えありませんが、CGIのデータファイルなど直接内容を参照・変更されたくないファイルの場合は、本ページの 「設定するパーミッションの値」に書かれている値を設定してご利用ください。