MdNCORPORATION

web creators 2010年4月号

web creators 2010年4月号

ホスティングサーバ スキルアップ講座



Webサイトと切っても切り離せないサーバ。あなたはサーバについてどれだけのスキルを持っているだろうか。ここでは読者アンケートを基にWeb制作者のサーバに関する悩み、疑問を取り上げ、Webクリエイターとして知っておきたいサーバの知識を解説していく。


文=編集部、中村 南 協力=藤掛真太郎(㈱ハイパーボックス)



今月のラインアップ

ホスティングサーバ スキルアップ講座

ハイパーボックス 専用サーバサービス「blue box」

CPI 共用サーバー シェアードプラン



【ホスティングサーバ スキルアップ講座】
第2回「パーミッションの意味と使い分け」


パーミッションとは

CGIやPHPなどを扱う際に耳にする「パーミッション(permission)」という言葉。これはUNIX系システムにおけるファイルやディレクトリ(Windowsでのフォルダと同義)ごとに定義された保護モードのことをいう。「読み(read)」、「書き(write)」、「実行(execute)」の3種類のパーミッションが、「所有者(owner)」、「グループ(group)」、「その他(other)」の三者に対してそれぞれ指定される。なぜこのような保護モードが必要なのかといえば、自身の管理するファイルを他人に勝手に削除されり書き換えられたりできないようにするためだ。ただ、そもそもサーバが所有者であるかどうか判断するのは、サーバにアクセするIDとパスワードなので、IDとパスワードの管理が十分でなければならない。

「所有者」はファイルをアップロード・生成したユーザー、「グループ」は、ユーザーが所属するグループ。グループはサーバ上で設定できる。グループがなければ、これに対する権限はなしにしてよい。また、「その他」所有者にもグループにも所属しないユーザーとなる。なお、サイト訪問者が閲覧する際のサーバ上の動作には、(一般的にApacheユーザーが実行するため)「その他」の設定が適用される。「その他」の「読み」が指定されていなければ、サイトは閲覧できない。



パーミッションの種類

パーミッションの「読み」、「書き」、「実行」は【1】の記号で表される。「読み」はその名のとおり読む(見る)ことができること、「書き」は書き換えや削除ができるということ、「実行」はCGIのようなサーバサイドでスクリプトを動作させられるという意味だ。ちなみに、HTMLやCSSのように動作はせず、JavaScriptもサーバでなくブラウザ上で動作するものなので、これらのファイルの場合は「実行」は設定してもしなくても特に意味はない。

パーミッションには「記号表記」と「八進記述」の二通りの記述方法がある。まず、「記号表記」だが【2】のように9桁で表記する。3桁ごとに「所有者」、「グループ」、「その他」を示し、それぞれの1桁目は「読み」、2桁目は「書き」、3桁目は「実行」となる。ここに【1】の記号が入ればそれが可能であることを指し、「-」の場合は不可となる。これをふまえると、「rwx------」は、所有者は読み、書き、実行すべて可能で、グループと他人は何もできないということになる。逆に、「rwxrwxrwx」では、すべての人にすべての実行権があることを示す。ちなみに、これはセキュリティ上問題がある指定なので使用はお勧めできない。

次に「八進表記」だ。先ほどの記号表記を八進法で表すものだ。こちらのほうがなじみ深い人も多いだろう。「r=4」、「w=2」、「x=1」と数字で表す。記号表記で「rw-r--r--」のものを八進表記に置き換えると、所有者は「r+w=4+2=6」、グループとその他は「r=4」となり、「644」と表記できる【3】。この数字を見れば、r、w、x、-がわかる。記号表記と八進表記の対応を示したのが【4】だ。




【1】

「読み」、「書き」、「実行」を記号で表す。execuseが「e」ではなく「x」なのは、こうした記号には通常子音を使うことから



【2】

記号表記では9桁で「所有者」、「グループ」、「その他」に対し、3つの保護モードをそれぞれ指す


【3】

八進表記でよく使われるのは「0」、「4」、「5」、「6」、「7」


【4】

記号表記と八進表記を照らし合わせると、上記のようになる


パーミッションの活用法

パーミッションの意味を押さえたところで使い方を解説しよう。FTPを使ってファイルをサーバに上げる際、多くの場合はデフォルトで「604」となっている。HTMLやCSS、JavaScriptなどは特に変更する必要はない。CGIやテキストファイルなどサーバサイドで実行が必要なものや一般ユーザーには見られてはならないファイルの場合には変更が必要となってくる【5】。変更するには、FTPもしくはシェルを使用する。シェルはプロバイダに使用を許可されている必要があるので、ここでは説明を省く。FTPソフトはMacでは「Cyberduck」(cyberduck.ch/)、Windowsでは「FFFTP」(www2.biglobe.ne.jp/~sota/ffftp.html)がよく使われている。それぞれを使ったパーミッションの変更方法は【6】を参考にしてほしい。

たとえば、CGIの配布サイトでファイルを借りてきた際に、「パーミッションは、755(705)」など二択が与えられていることがある。この場合、どちらを使用しても動作上問題はないが、必要以上に権限を与える必要はないので、755か705であれば、より制限されている705にしておくほうがベターだ。ただし、サーバによってはサーバの構築方法の関係から、使用するパーミッションが決まっている場合もあるので、使用しているサーバ会社の会員用サイトなどで確認しよう。



【5】

よく使われるパーミッションの一例。グループを設定していなければ、2桁目の数字は「0」にしておこう。ディレクトリは「755」がデフォルトとなる


【6】

「Cyberduck」と「FFFTP」でのパーミッションの指定。Cyberduckはファイルを選択し、アクションメニュー→“情報”→“アクセス権”、FFFTPでは、ファイルを選択してコマンドメニュー→“属性の変更”でできる




これだけは気をつけたい落とし穴

このパーミッションの設定に関して、よくある落とし穴は、.txt、.dat、.logなどのテキストファイルが「604」のままになっていることだ。これらのファイルには重要な情報が含まれていることが多く、かつて、「data.txt」とWebで検索をかけると個人情報が多くヒットしたというのは有名な話だ。

また、自分でサーバに上げたファイルすべてにパーミッションを設定しても、CGIなどが自動で書き出したファイルが不適切な設定になっていて、閲覧禁止のものが公開されてしまうことがある。どのようなパーミッションでファイル生成するかはCGI側で設定するが、これがまちがっているケースがまれだがある。動作テストを行い、適切なパーミッションで自動生成されるかを確認しよう。

さらに、上記のような.txt、.dat、.logのファイルは、多くの場合ディレクトリにまとめらている。パーミッションはディレクトリにも設定可能だが、仮にディレクトリに「705」と設定したとしても、その中に格納されるファイルにこの設定は受け継がれない。あくまでディレクトリに対する設定はディレクトリのためだけの設定であり、結局はファイルにも個別の設定が必要となる。

CGIやPHPのライブラリを利用する人も多いと思うが、パーミッションの設定だけは過信せずに自分で見直して使用することをお勧めしたい。特に、所有者以外で「書き」と「実行」が両方許可されたファイルは、もっとも危険度が高いので、この設定を用いる場合にはそのファイルの中身と照らし合わせてよく検討しよう。



特殊な制限設定

ここまでに挙げた設定よりさらに上位の権限設定がある。その中から比較的使用頻度が高いものを紹介しよう。「Sticy」という設定で、ディレクトリを所有者とroot権限の持ち主のみが名前の変更と削除ができるというものだ。たとえば、サイトを更新する人が複数いた場合、内容の更新はできても、ディレクトリ内のファイルそのものを削除したり名称変更したりできないようにしたい、といった場合に使える。「Stick」は八進表記で「1」で表記され、先ほどの3桁の数字の前につけて設定を行う。これらは「chmod 1775」など、コマンドを打ち込むことで設定できる。より管理を厳密に行う場合には使用を検討したい。

とても単純なミスが大きなトラブルを招くこともあるパーミッション。どの設定にしても、もっとも基本的だが重要なことは、パーミッションを設定したあとにブラウザでそのファイルにアクセスして確認することだ。怠らず、安全なサイトづくりに努めよう。



コスト、パフォーマンスとサポートの
すべてで業界をリードする

ドメインキーパー
専用サーバサービス「blue Box」


URL:www.bluebox.ne.jp/
株式会社ハイパーボックス


ハイパフォーマンスなサーバ機を
豊富なバリエーションで提供

導入コストは抑えたいが、サーバ能力では妥協したくない。そんなユーザーの声に応えるべく、ドメインキーパーの専用サーバサービス「blueBox」では、すべてのモデルでデュアルコア以上のCPU(2009年秋モデルのもの)を採用。業界トップクラスのパフォーマンスと、低価格を両立させているのが特徴だ。カスタマイズ性が高く、ハードディスク容量やメモリ容量を自由に追加できるため、ECやグループウエア、複数サイト運用といったパフォーマンスが重視される用途にも最適といえるだろう。2CPU搭載モデルや、ホットスワップ対応で4台のHDDを搭載した耐障害性に優れたモデル(Raid6対応)などのハイエンド機に加え、ロードバランサーなどのオプションが豊富に提供されており複数台構成にも強い。また10Mbpsの専有回線が月額1万500円で用意されるなど、高品質な国内回線を低価格で利用できるのもポイントだろう。標準の10Mbpsの共有回線から100Mbps専有回線まで、4段階の回線オプションがラインアップされており、ニーズに合わせた段階的なアップグレードが可能となっている。



24時間サポートと運用オプションで
安心して利用できる

運用面の不安から専用サーバ導入に踏み切れないクライアントも多いと思うが、同社では24時間のサーバ監視と障害時の一次復旧を行う「一次復旧」サービスだけでなく、セキュリティアップデートやバックアップを含むフルマネージの保守契約である「マネージド」サービスを提供。さらにファイヤーウォールのポリシー設定などの技術作業代行や、サーバ障害の原因調査をスポットで依頼できる「アフターサービス」がオプション用意されており、サーバ運用のアウトソーシングが可能となっている。休日や深夜帯など、メンテナンスの作業タイミングを指定できる「時間指定」サービスも便利だ。もちろん、トラブルシューティングから運用保守相談まで、24時間365日即日対応の無料電話窓口で対応するなどサポート面も充実。まさにコスト、パフォーマンス、サポートの3要素でユーザーをトータルに支えるサービスといえるだろう。



新サービス開始で
初期費用無料キャンペーンを実施中

CPI
共用サーバー シェアードプラン


URL:www.cpi.ad.jp/
株式会社KDDIウェブコミュニケーションズ


多機能なサービスと
高い品質のサポートを提供

CPIが提供する共用サーバー「シェアードプラン Zシリーズ」では、営業時間内ならば即日対応のメールサポートと初心者を対象にした電話サポートを提供。さらにオプションで、24時間365日の電話・メールやリモートによるサポートを追加できるのも特徴だ。HDI-Japanが実施するサポート窓口の格付け評価で最高ランクの「★★★トリプルスター」を獲得したサポート品質はもちろん、万一のサーバ障害などで高稼働率を維持できない場合、一定の割合で利用料金を返金するSLA(品質保証制度)も導入されており、安心のサービス内容となっている。 機能面でも充実しており、最低でも50GBを利用できる大容量ストレージを採用し、無制限のマルチドメイン(プランZ1を除く)に対応。標準でスパムフィルタやウイルスチェックが提供されており、オプションで外部バックアップにも対応するなど基本セキュリティは高い。モバイルサイト構築用のCMSやSEO対策ツールなどWebアプリケーションも豊富で、サイト運営に必要な機能すべてをワンストップで利用できるのも大きなメリットだ。



Googleの企業向けオフィススイート
Google Appsと連携

2010年からは新たに、Google社が提供する企業向けアプリケーションサービスである「GoogleApps Premier Edition」との連携を開始。シェアードプラン Z シリーズの導入により専用アカウントがひとつ無料で提供され(12カ月契約のユーザーが対象)、有料版のGmailやGoogleカレンダーなど、各種アプリケーションを独自ドメインで運用することが可能となっている。CPI独自のコントロールパネルからめんどうな設定なしに組み込めるなど、低コストで手軽に社内インフラを整えたい中小企業のクライアントにとって、魅力的な選択肢といえるだろう。 なお新プランの提供に合わせて、2010年3月12日までの期間限定で、シェアードプランを契約したユーザーに対しサーバの初期設定費用2万1,000円をキャッシュバックするキャンペーン(キャッシュバック申請フォームの提出が必要)も実施されている。


制作の基本からデザイン業界の最新状況まで! MdNのデザイン・グラフィック書8選

デザイン・制作・マーケティング Webでもう困らない! わかりやすくて知識が身につく8冊