| パーミッションとは? UNIXではファイルに与える権限のことを「パーミッション」といいます。
パーミッションにはファイルに対して
- 「r:読み取り(read)」
- 「w:書き込み(write)」
- 「x:実行(execite)」
の3種類があり、利用者に対して
- 「所有者(owner)」:あなたのこと
- 「グループ(group)」:同じサーバーの共有者
- 「それ以外(user)」:wwwの訪問者
パーミッションの表示には2種類あり、フィールド表示と数字表記があります。
フィールド表示: -rwx rwx rwx
各区切り左から user,group,owner(あなた)
数字表記: 777
各数字左から user,group,owner(あなた)
と表示します。
フィールド表示の場合、上の例ではすべての人がそれぞれr(read)、w(write)、x(execite)の権限があるという意味です。
数字表記の場合、「r:読み取り(read)」「w:書き込み(write)」「x:実行(execite)」に対応する数字表記は8進数を使っており、
r=4
w=2
x=1
で、権限はそれぞれの数字を足したものとなり、上の例ではすべての人が(r=4)+(w=2)+(x=1)=7でr(read)、w(write)、x(execite)の権限があるという意味です。
一般に、CGIプログラムの場合、
「所有者(owner)」の権限は読み・書き・実行すべてできなければなりませんから-rwxまたは7、
「グループ(group)」は権限を与える必要がありませんから---(-は0の意味)または0、
「それ以外(user)」は、当然読めて、そのプログラムを実行できないといけませんからr-xまたは5となり、
フィールド表記では-rwx---r-x(ownerの前だけかならず-をつける、あとは3桁)
数字表記では705となります。
またCGIプログラムが使うデーターファイルの場合、通常
すべての人はそのファイルに対して「x:実行(execite)」する必要がありませんから「r:読み取り(read)」「w:書き込み(write)」のみの設定で
606もしくは-rw---rw-となります。
パーミッションを設定するのにはTelnetクライアントを使う方法と、FTPクライアントを使う方法がありますが、
Telnetを使う場合、設定したいファイルがあるディレクトリまで行き、パーミッションを変更するコマンドを入力します。
コマンド(chmod) パーミッション(705) ファイル名(hogehoge.cgi)の順で
chmod 705 hogehoge.cgi リターン
とタイプします。変更確認は
ls -l hogehoge.cgi リターン
とします。
-rwx---r-x 1user group 76 Nov22 03:46 hogehoge.cgi*
のように表示されれば変更済です。
-rwx---r-xはすなわち705を意味します。-rwx(7)---(0)r-x(5)
|