File Permission
ファイルの属性情報について
コンピュータが扱うファイルには、ユーザによる操作を許可するか否かについて、属性情報が与えられています。
個人で使っている分には意識することがないのですが、サーバーにアップロードしてプログラムを動かすとなるとこの知識が必要です。ユーザーという概念には、オーナー、グループ、一般ユーザーという3つの区分があります。それぞれに、以下の3種類の権限を設定する必要があります。
- r (readable:読み込み可能)
- w (writable:書き込み可能)
- x (executable:実行可能)
例えば、リモートファイルの属性情報が以下のようになっている場合
rwx r-x r-x
この表記は以下のような属性設定になっていることを意味します。
- オーナー:読み・書き・実行
- グループ:読み・
書き・実行 - 一般ユーザー:読み・
書き・実行
属性情報は、可を 1 不可を 0 とした2進数形式で表現する場合もあります。
例えば、先の rwx r-x r-x は、以下のように2進数で表現できます。
1 1 1 1 0 1 1 0 1
最終的にこれを8進数化して
7 5 5
と表現することもあります。
Webサイトの構築では・・・
一般に、サーバーにアップしたファイルやフォルダのパーミッションの変更はFTPソフトを用いて行います。特に、サーバー側でファイルの書き換えを行うCMS、PHP等を利用したサイトでは、必要に応じて、属性の変更(パーミッションの変更)を行う必要があります。
自分で設置したCMSやWebアプリケーションで、「書き込み属性がないため、更新に失敗しました」というメッセージが出る場合、ほぼこの問題です。
とりあえず乱暴ですが、すべてのファイル・フォルダに対して、パーミッションを 777 に変更、つまり「読み・書き・実行、誰でも何でもあり」に設定すると、動作して表示される可能性があります。
ただこれにはセキュリティー上の問題があります。レンタルサーバーでは、phpフィルに関するパーミッションの設定が決められている場合があるので、実際の公開サイトでは指定の仕様にしたがって詳細に設定を行う必要があります。