| 座学編トップへ | 2002年度トップへ |

gate 入門

2002/02/17 作成   森川 靖大


今回の座学編は、 gate-toroku-system の概要をまとめたものであり、 以下の 3 編から構成されている。

  1. 〔入門編〕 gate って何?
                    - [ What's Gate? ] -
  2. 〔中級編〕 gate のお仕事
                    - [ Behavior of Gate ] -
  3. 〔上級編〕 gate のなかみ
                    - [ Specification of Gate ] -

〔入門編〕では、 gate-toroku-system の概要を、 〔中級編〕ではその挙動を、 〔上級編〕では内部の構成を紹介する。


〔入門編〕 gate って何? - [What's Gate?] -

gate-toroku-system とは、

複数サーバユーザ自動管理 をおこなうためのソフトウェア

である。 (Debian GNU/Linux ver 2.0 〜 3.0 上で動作)

ユーザの管理

ここで言うユーザ管理とは、主に

  1. サーバの利用申請の受け付け (and ユーザ個人情報取得)
  2. ユーザのサーバ登録認証 (or 却下)
  3. ユーザのアカウント作成
  4. ユーザの個人情報の管理
  5. ユーザの抹消

を指す。 これらの管理は、一つのサーバを多数のユーザで利用する時には必要となる。


自動化

gate-toroku-system では、Perl (特に、インターフェースとしてCGI) を用いることでユーザ管理を自動化している。 自動化する端的な理由は

ラクがしたいから
である。

では、どれくらい ラクができるのだろうか? 以下は、ユーザ管理を gate-toroku-system によって自動化した場合と そうでない場合の流れである。 いくつかの繁雑な作業が、自動化されることにより簡略になっていることが わかるだろう。

  従来の方法 自動化された方法
利用申請
受け付け
ユーザ
  1. メールに必要事項を記入
  2. 申請受け付け窓口のアドレスに送信
ユーザ
  1. ブラウザで 「ユーザ登録申請用ページ (CGI)」を開く
  2. 必要事項を記入
  3. 記入したデータを送信

ユーザ認証
ネットワーク組織管理者
  1. 審査
  2. ユーザに通知
ユーザ
  1. 結果を受け取る
ネットワーク組織管理者
  1. 審査
  2. 審査の結果を「ユーザ認証用ページ (CGI)」に入力、送信
gate-toroku-system
  1. ユーザに結果をメールで通知
ユーザ
  1. 結果を受け取る
ユーザアカウント
作成
ネットワーク組織管理者
  1. サーバ管理者にアカウント作成を指示
サーバ管理者
  1. 手動でユーザアカウント作成
  2. ネットワーク管理者にアカウント情報を通知 (パスワード等)
ネットワーク組織管理者
  1. アカウント情報をユーザに通知
gate-toroku-system
  1. 審査の結果を受け取る
  2. 自動的にサーバにアカウントを作成
  3. ユーザにアカウント情報 (パスワード等) をメールで通知
個人情報
管理
ネットワーク組織管理者
  1. データや書類等、なんらかの形で情報一覧を保持。 (サーバ管理者やユーザは簡単にデータを引き出せない。 また、変更も手間がかかる)
gate-toroku-system
  1. データの形で情報を保持。 ユーザは「ユーザ登録内容変更ページ (CGI)」 にて簡単に情報の変更が可能。
ユーザ
抹消
ユーザ
  1. アカウント抹消を申請
ネットワーク組織管理者
  1. 受理
  2. サーバ管理者に指示
サーバ管理者
  1. アカウントを削除
  2. ネットワーク組織管理者に報告
ネットワーク組織管理者
  1. サーバ管理者によってアカウントが抹消されたことを ユーザに通知
ユーザ
  1. 「ユーザ登録抹消ページ (CGI)」から抹消申請。
gate-toroku-system
  1. アカウントを抹消
  2. ユーザにメールで抹消したことを通知

複数サーバの同時管理

もしもあなたが WWW、Mail、DNS、FTP、NEWS といった複数のサービスを おこなおうと考えたのならば、 可能であればそれぞれのサービス用にサーバを一つ一つ用意すべきである。 なぜなら、その方がトラブル発生時に致命的な被害を受けにくいからである。

しかし、たとえユーザ管理を自動化していたとしても、 複数のサーバを別々にユーザ管理していたのでは

結局ラク出来ない

ことになる。これはネットワーク組織の管理者、サーバの管理者、ユーザ全てに 言えることである。

gate-toroku-system ではユーザ情報を複数のサーバで 共有できる。このおかげで、1 つのサーバでおこなっている ユーザ管理をそのまま他のサーバに用いることが出来る。 これにより、

複数サーバも単一サーバとほぼ同じコスト
でユーザ管理が可能である。


〔中級編〕 gate のお仕事 - [Behavior of Gate] -

具体的な gate-toroku-system の動作内容を紹介する。 以下の 3 つが、その主な動作内容である。

  1. ユーザ管理用システムファイルの生成
  2. ユーザデータベースの保存・共有
  3. WWW を介した、CGI プログラムによるユーザからの 登録/変更/廃止受け付け

ユーザ管理用システムファイルの制御

gate-toroku-system はユーザ管理のため、UNIX 系 OS の ユーザ管理用システムファイル

を生成する。 生成に際しては、下記のユーザデータベースを参照する。


ユーザデータベースの保存・共有

gate-toroku-system はユーザ情報管理のため、

以下にユーザのデータベースを格納している。

データベース形式

ユーザデータベースは、それぞれのユーザ毎に、一つずつファイルとして 保存されている。

    ┌──── hogehoge ────┐    ┌──── herohero ────┐    ┌─
    |ユーザ名: hogehoge        |    |ユーザ名: herohero        |    |
    |氏名    : ホゲ太郎        |    |氏名    : ヘロ助          |    |
    |UID     : 1531            |    |UID     : 1491            |    |   …
    |所属    : 北大理学部...   |    |所属    : 北大理学部...   |    |
    |シェル  : /bin/bash       |    |シェル  : /bin/tcsh       |    |
    |           :              |    |           :              |    |
    └─────────────┘    └─────────────┘    └─
  

データベース共有 ─『登録サーバ』と『その他のサーバ』─

gate-toroku-system では複数のサーバで共通のユーザデータベースを持つ。 このデータベース共有のために、 gate-toroku-system を利用しているサーバのグループでは、 その 1 つを 『登録サーバ』、その他を 『その他のサーバ』 としている。

gate-toroku-system では、rsync (認証には ssh) を用いて 登録サーバとその他のサーバのユーザデータベースを同期している。


CGI プログラムによるユーザからの登録/変更/廃止受け付け

gate-toroku-system は CGI を用いることで、 WWW を介した登録/変更/廃止受け付けを可能にしている。 なお、ユーザへの通知はメールを用いている。 登録/変更/廃止受け付け画面は以下のような雰囲気。 (これは見本なので動作はしない。)

ユーザ登録申請のページ


必要事項を記入した後、 を押して下さい。
希望ログイン名
名前 (日本語)
電話番号
所属
保証人ログイン名
利用者区分
北大地惑専攻教官
大学院生
学部学生


〔上級編〕 gate のしくみ - [Specification of Gate] -

gate-toroku-system の裏側を紹介する。 このソフトウェアは、以下のプログラム群で構成されている。

簡単に各パーツについて紹介する。


システム管理用プログラム

/etc/passwd/etc/shadow といった システムファイルを生成するためのプログラム群である。 root が起動することを前提にしている。


ユーザ利用プログラム

ユーザの登録/変更/廃止申請用の Perl スクリプト。 これらのプログラムがユーザデータベースを直接管理している。 基本的には CGI プログラムから呼び出されることを目的としているが、 一般ユーザがコマンドとして起動することも可能である。


CGI プログラム

WWW を介してユーザからの要求に答えるための CGI プログラム。Perl で記述されている。 ユーザデータベースを直接編集することは無く、 上記の ユーザ利用プログラム に必要な情報を受け渡すことが その役割である。


マニュアル

gate-toroku-system には、それ自体のマニュアルも付属している。 インストール方法やコマンド/システムの解説が記されている。


設定ファイル

gate-toroku-system には、設定ファイルが存在する。 gate-toroku-system の挙動は全てこのファイルによって制御可能 (なはず) である。


おわりに

以上が gate-toroku-system の概要であった。 ただ、今回の座学編では実際にインストールする方法や運用してしていく方法は 述べていない。 実際に gate-toroku-system を利用するのであれば http://www.ep.sci.hokudai.ac.jp/~gate/doc/index.html を参照してもらいたい。


gate@ep.sci.hokudai.ac.jp