□Perl 講座 超初級編 > パーミッション(行動権)の意味と設定
◆パーミッションってなに?
どこの、CGIスクリプト配布サイトでも、必ず『パーミッション』という言葉が出てきます。もちろん簡単に説明しているところから、知っていることを前提に説明しているサイトと様々です。どちらかと言うと後者の方が多いのではと思いますので、概略だけですが説明しておきます。簡単にとは言え、始めての人は読んでも良く解らないかもしれませんので、ある程度慣れてから読むのも手かもしれません。面倒な方や、後でという人は下の良く用いられる設定から、読んでいただいて結構です。
殆どにサーバは複数のユーザの利用を前提としています。ですからそのような環境で、自分が使用(利用)している、ディレクトリ(フォルダ)やファイルを他人に、黙って見られたり、改ざん・消去されてしまう可能性があるのです。ですから、ディレクトリやファイルに対する操作を制限するためのアクセス権が必要になります。そのアクセス権の設定を『パーミッション』と呼びます。
ディレクトリやファイルの属性である『モード』を使って管理していくわけですが、UNIXやNTなど、OSによってパーミッションの仕組みが違います。UNIXの場合でのパーミッションを説明します。
パーミッションは、ユーザ・グループ・その他の3つの対象に行われます。
- ■ユーザ(u)
- ディレクトリやファイルの所有者のこと。パーミッションの設定・変更はユーザのみ可能。
- ■グループ(g)
- UNIXを利用できるユーザは、ある『クループ』に属するように設定されています。(複数の場合も有)
- ■その他(o)
- 指定したユーザやグループ以外のこと。その他の利用者全て。
- r(read):読む
- w(write):書く
- x(execute):実行する
パーミッションの変更をする際にPerlではchmod関数を用います。この関数はパーミッションを8進数で表したものを使用します。
ユーザ | グループ | その他 | |
-(権限なし) | 0 | 0 | 0 |
x(実行) | 1 | 1 | 1 |
w(書き込み) | 2 | 2 | 2 |
r(読み込み) | 4 | 4 | 4 |
これらを使ってセキュリティを管理していきます。
◆よく用いられる設定
皆さんがカウンタやCHAT・BBSなどの、CGIスクリプトを設置する上でもっとも良く使われる設定をご案内しておきます。ある程度慣れてきたらセキュリティの事も考慮しながら設定していくといいでしょう。パーミッション | 拡張子 | 説明 |
777 | フォルダ | CGIスクリプトやログファイルなどを格納するフォルダの設定です。書込みできる設定ですから、所定の位置に設置するか、CGIスクリプト・ログファイルなどと、通常のhtmlファイルは別にしておいた方がいいでしょう。 |
755 | .cgi .pl | CGIスクリプト本体の設定です。サーバによって拡張子が.cgiまたは.pl出ないとCGIスクリプトと判別してくれませんので気をつけてください。どちらかと言うと.cgiにしておいた方が無難なケースが多いようです。 |
666 | .txt .dat .log | カウンタやBBSやCHATなどの書き込みを必要とするファイルに対して設定します。拡張子は様々です。ログを記録するためのファイルです。 |
644 | .htm .html .pl | デフォルトの設定。普通に読み込ませるだけのファイルはこのままでいいでしょう。あと、.plでもライブラリとして読み込み専用ファイルもありますので、そういったファイルは755にする必要はありません。 |
パーミッションの変更作業方法は色々有りますが、まずはCGIスクリプトを設置を目指すということで、FTPソフトを用いた変更方法を次のページにて簡単に説明していきたいと思います。
□超初級編 まず始めに・・・。
第一章 CGIって? | |
・Common Gateway Interface | CGIって?Perlって何? |
・データのやり取りについて | CGIの仕組み、データの受け渡しについて |
・CGIの危険性 | CGIを利用する前に良く認識する必要があります |
・CGIの起動の仕方・データの受け渡し方 | CGIを起動する方法について |
第二章 PerlでCGIを組んでみよう! | |
・#!/usr/local/bin/perl | まずは1行目!CGIの世界へ・・・(大げさ) |
・データのフラッシュ | 何するの?そして2番目にすること |
・Headerの記述 | 3番目とおさらいです。 |
・簡単な命令文 | 命令文って?実際に記述してみよう! |
第三章 動かしてみよう! | |
・パーミッション(行動権)の意味と設定<< | パーミッションについての説明と例 |
・アップロードしてみよう!! | FTPソフトの使い方とパーミッション変更方法 |
・実際アクセスしてみよう!! | アクセスする方法は?エラーが起きたら? |