gate登録システム: 設計ポリシーから使い方まで 石渡正樹・倉本圭 2009 年 4 月 17 日 2009年度 EPNetFan/ITPASS 座学編
gate-toroku-system (gate)とは? EP ネットワークサーバのユーザ/DNS 登録・更新・抹消を自動的に行うソフトウェア サーバを使うためにくぐってもらう「門 (gate)」 ユーザインターフェースは CGI web ブラウザ上から操作 1998 年に開発開始, 1999 年度末に完成 細かな改変を受けながら, 地球流体電脳倶楽部サーバ, 九大理, 国立天文台, 現CPSサーバでも利用されている
なぜ gate が必要か? 多数のユーザ / ホストの登録・更新・抹消を 手動で行うのは大変 例:ユーザ登録の場合に必要な作業 登録/更新/抹消者の確認 氏名, 連絡先, 所属研究室, 指導教員, アカウント名 申請が正しいかどうかの確認(なりすましの防止) 実際に作業 adduser, deluser コマンドを使って実行
基本的な考え方 ユーザ / DNS の登録・更新・抹消作業を自動化 申請が正しいかどうかの確認は, 申請者本人と指導教員に行ってもらう 手動では無理 申請が正しいかどうかの確認は, 申請者本人と指導教員に行ってもらう 「保証人制度」の導入 複数のホストからなるサーバシステムを想定 EP サーバでは, mail, web, DNS, ftp, news ネットワークを介して動作
gate 登録システムの使い方
http://www.ep.sci.hokudai.ac.jp/~epcore/gate.html
ユーザ登録の流れ (やさしい登録ガイドより抜粋) 登録希望者は保証人の教員と事前に口頭で相談 web 上の受付窓口で申請, 初期パスワードが発行される 申請内容が保証人宛にメールで通知 保証人の承認後に アカウント発行
http://www.ep.sci.hokudai.ac.jp/~epcore/gate.html
アカウントの種類 個人ユーザアカウント グループユーザアカウント 個々のユーザに割り当てられるアカウント アカウントと利用者が一対一対応 複数の個人ユーザで利用するアカウント UNIX のグループという概念を利用 直接ログインはできない sudo を使う
DNS 登録の流れ (やさしい登録ガイドより抜粋) 保証人が機器管理者(root) を指名 保証人または root が web 上の受付窓口で申請 申請内容が保証人宛にメールで通知 保証人の承認後に DNS に登録
DNS 登録の種類 A レコード MX レコード CNAME 通常のホスト名と IP アドレスを対応させる登録 メールサーバ用の登録 ホストに別名をつけたい場合の登録
登録の更新・抹消 事前に登録システム用パスワードを設定 本人または保証人がweb 上の受付窓口で申請 申請後, 自動的に登録抹消
その他 プライベート LAN 登録の手順は DNS とほぼ同じ すでに登録されているユーザ名/ホスト名では登録申請できない DHCP 用 IP アドレスがサーバから発行される ホストの MAC アドレスで識別 すでに登録されているユーザ名/ホスト名では登録申請できない 初期ログインパスワードは必ず変更する 登録システム用パスワードはログインパスワードとは別にする
知っておくと便利なコマンド gate-user-show / gate-ip-show ユーザ / ホスト情報の閲覧 gate-user-list / gate-ip-list ユーザ / ホストの一覧表示 オプションでいろいろな条件を与えることができる gate-user-status ユーザの利用状況の表示 自分の使いたいユーザ名が使われているかどうかが 分かる.
gate-toroku-system の中身の簡単な紹介
実際の動作 ユーザインターフェースは CGI だが, 実際の動作はすべてコマンドラインで行われている 管理対象のシステムを「登録サーバ」と 「その他サーバ」に分けて管理
データを受け取り, アカウント / DNS ゾーンファイルを作成 システム構成 登録サーバ ユーザの受付窓口 登録データの管理 登録申請 通知 www ユーザ 登録データをネットワークを介し転送 mail DNS 1st DNS 2nd ftp その他サーバ データを受け取り, アカウント / DNS ゾーンファイルを作成
登録サーバ上での動作: ユーザ登録の場合(1) 登録希望者は保証人の教員と事前に口頭で相談 web 上の受付窓口で申請, 初期パスワードが発行される 申請内容が保証人宛にメールで通知 保証人の承認後に アカウント発行 gate-user-apply 申請時に申請者と 保証人に申請内容をメールで通知 申請内容を記載したと登録データを作成
登録サーバ上での動作: ユーザ登録の場合(2) 登録データは, ~gate/userdb 以下に格納 申請時には ~gate/userdb/pending 以下 承認されると ~gate/userdb/stable 以下へ移動 抹消されると ~gate/userdb/defunct 以下へ
登録サーバ上での動作: ユーザ登録の場合(3) 登録希望者は保証人の教員と事前に口頭で相談 web 上の受付窓口で申請, 初期パスワードが発行される 申請内容が保証人宛にメールで通知 保証人の承認後に アカウント発行 gate-user-accept 登録申請を認証または拒否する 結果を申請者と保証人にメールで通知 gate-daily 申請の認証時に アカウントを作成 「その他サーバ」へ 登録データを転送
登録サーバ上での動作: ユーザ登録の場合(4) gate-daily は以下を実行 gate-db-to-passwd: /etc/passwd の更新 gate-db-to-shadow: /etc/shadow の更新 gate-db-to-group: /etc/group の更新 gate-db-to-sudores: /etc/sudored の更新 gate-make-home, gate-remove-home: ホームディレクトリの作成 / 削除 gate-db-update: 登録データの転送と その他サーバ上で gate-daily 起動
登録サーバ上での動作: ユーザ登録の場合(5) 登録データの転送 gate 権限による rsync .shots 認証による ssh ノンパスワードログインを利用 その他サーバ上での gate-daily の起動 inetd を介し gate 権限で起動される 8888 ポートを用いる
その他サーバ上での動作 登録サーバから登録データが転送される その後登録サーバから 8888 ポートに通信が行われ, それを合図に gate-daily が起動 その後の動作は登録サーバと同じ /etc/gate.conf の設定を見て, アカウントを作成するユーザを判断 例) DNS サーバでは epdns グループユーザメンバーのアカウントだけが作られる
DNS / プライベート LAN 登録の 場合 基本的な流れはユーザ登録と同じ 異なる点 登録データの格納ディレクトリ DNS: ~gate/ipdb プライベートLAN: ~gate/pipdb ゾーンファイル / dhcpd 設定ファイルの作成は, その他サーバでのみ行う DNS: gate-db-to-zone DHCP: gate-db-to-iptables, gate-db-to-dhcpd
参考文献 EP ネットワーク委員会, 「やさしい登録ガイド」, https://www.ep.sci.hokudai.ac.jp/~epcore/gate/toroku.html gate-toroku-system 開発グループ, gate-toroku-system 入門, http://www.ep.sci.hokudai.ac.jp/~gate/doc/introduce.html gate-toroku-system 開発グループ, gate-toroku-system コマンド集, http://www.ep.sci.hokudai.ac.jp/~gate/doc/commands.html