gate-user-db(5)

Date: $Date: 2012/10/25 01:32:08 $
Source: gate-toroku-system

名前

gate-user-db - ユーザ/ホストデータベースの構造とファイル書式

ディレクトリ構成

ユーザデータベースの実体は gate-sys-conf(5) の $DB_BASE で指定されるディレクトリ (デフォルトは ~gate/userdb) 以下に置かれるファイル群です。 ホストデータベースの実体は $DB_IP_BASE で指定されるディレクトリ (デフォルトは ~gate/ipdb/) 以下に置かれます。

(デフォルトでデータベース置き場を gate のホームディレクトリと しているのは、多くのシステムで /home をバックアップしているため、 gate-toroku-system 独自のバックアップを考察しなくて良かろうという 考えからです)

ファイル名は ログイン名 です。たとえば toyoda というログイン名を持つ ユーザに対応する情報は toyoda という名前のファイルに 書き込まれます。 ひとつひとつのファイルを ユーザ情報カード とよびます。

データベースのユーザ情報カード置場は以下の 3 箇所とします (<$DB_BASE> は $DB_BASE に指定しているディレクトリに置き換えて読んで下さい):

<$DB_BASE>/pending
登録申請後、承認を経ていないユーザのカードが置かれます。
<$DB_BASE>/stable
承認されたユーザのカードが置かれます。
<$DB_BASE>/defunct
利用を廃止したユーザのカードが置かれます。

なお、これらはそれぞれ、 gate-sys-conf(5) 内の $DB_PENDING, $DB_STABLE, $DB_DEFUNCT で変更することが可能です。

また、データベースのホスト情報カード置場は以下の 3 箇所とします (<$DB_IP_BASE> は $DB_IP_BASE に指定しているディレクトリに置き換えて読んで下さい):

<$DB_IP_BASE>/pending
登録申請後、承認を経ていないホストのカードが置かれます。
<$DB_IP_BASE>/stable
承認されたホストのカードが置かれます。
<$DB_IP_BASE>/defunct
廃止されたホストのカードが置かれます。

なお、これらはそれぞれ、 gate-sys-conf(5) 内の $DB_IP_PENDING, $DB_IP_STABLE, $DB_IP_DEFUNCT で変更することが可能です。

<$DB_BASE> と <$DB_IP_BASE> ディレクトリは gate グループからのみ閲覧可能にします。

ユーザの分類

gate-toroku-system(1) では同じ名前の uid と gid が原則として一致するシステムを 考察しているので、 以下でのユーザに関する議論はグループにも準用されます。 ユーザには以下の 3 種類があります。

-
個人ユーザ
-
グループユーザ
-
システムユーザ

個人ユーザは個人に対応します。

グループユーザは個人の集合または個人の活動を抽象化したもので、 ファイルやメールアドレスなどの資源を独立して持たしめたいものに 対応します。

システムユーザは Debian システムまたは debian パッケージによって 作られるユーザです。 これらの uid または gid は Debian Policy http://www.debian.org/doc/debian-policy/ch-opersys.html#s9.2.2 に従っているため、0 -- 999 の範囲内にあります。 gate-db-to-passwd(8), gate-db-to-shadow(8), gate-db-to-group(8) は、既存のシステムユーザを保存するように動作します。 データベースにシステムユーザのカードを手動で作成する意義は、 システムユーザと重複する名称のユーザを作らないようにすることにあります。

ユーザ/ホスト情報カードの形式

個々のファイルの形式は電子メールのヘッダに似ています。 ファイルは改行文字によって行に区切られ、 各行は最初のコロン (:) によって フィールド名 と 値 に区切られます。 値の最初または最後のスペースまたはタブは無視されます。つまり


username: toyoda
username: toyoda
username:toyoda
は等価です。

フィールド (欄) は以下で規定するとおりです。 これらはどのような順番で記述されていてもかまいません。

フィールド名は大文字と小文字の区別をするものとします (電子メールとは違う)。 いまのところ、すべてのフィールド名は小文字です。

定義されていない名前のフィールドは将来の拡張のため予約されています。 処理系は未知の名前のフィールドを無視するものとします。

漢字コードは日本語 EUC とします。 外部からの入力によってデータベースを作成・変更するプログラム は漢字コードの変換を行う責任があります。

すべての情報カードに共通に必須のフィールド

type:
登録種別をあらわします。 現在のところ、ユーザデータベースの種別はすべて小文字、 DNS データベースの種別はすべて大文字です。
person		個人ユーザ
incorporation	法人ユーザ
system		システムユーザ
A		DNS の通常のホスト情報
CNAME		DNS の別名情報
MX		DNS のメール転送情報
A,MX		DNS の A と MX を同時設定

個人ユーザ登録申請時に入力するフィールド

loginname:
ログイン名
kname:
漢字または仮名の名前
name:
アルファベットの名前。 姓名の順、大文字と小文字の組み合わせはどのようでも可。 現状では英大文字・小文字、数字とハイフンだけが使えます。
phone:
緊急連絡先電話番号
fax:
緊急連絡先 FAX 番号 (必須ではない)
syozoku:
所属
room
北大地惑の部屋番号、部屋がない場合は郵便の届く住所
status:
身分 (以下のリストから選択)
kyoukan		専攻常勤教官
staff		その他職員
insei		大学院生
gakubu		学部学生
kenkyuusei	ポスドク・研究生・聴講生
visitor		客員教官・客員研究員・訪問者・共同研究者
others		その他専攻長が特に認める者
hosyounin:
保証人 login 名 (教官でなければならない) 教官は保証人を gate (gate.conf で変更可能) とします
email:
本人連絡先 email address 登録過程での連絡のため使用します (必須ではありません)
shell:
ログインシェルのフルパス (/etc/shells のリストから選択)

グループユーザ登録申請時に入力するフィールド

loginname:
ログイン名
kname:
日本語名称
name: ASCII 文字で表現した名称
hosyounin:
責任者。存在する個人ユーザでなくてはなりません
member:
スペースまたはタブで区切られた個人ユーザのリスト
uid:
ユーザ ID (本DB で作成されるユーザは グループID を uid と一致させるのでグループ ID 欄は不要です)
date:
最後に内容が変更された日時 グリニジ時間で 1999-09-01T10:20:33+0000 のように 記入します。
password:
crypt(3) された仮パスワード (type: person だけ) (ユーザが passwd(1) で変更されるのには追随しません。 最初の変更までと、事故で復旧するときにしか使われません)

DNS 登録申請時に入力するフィールド

type:
登録種別 (内容は上記参照)
hostname:
ホスト名
root:
機器管理者(ルート)のログイン名
owner:
登録申請者(教官)のログイン名

(A レコードのとき必要なもの)

hardware:
ホスト機種名
ip:
IP アドレス
eth:
イーサネットアドレス
hubport:
大計ハブ番号とポート番号(.で区切る)
place:
設置場所

(CNAME レコードのために必要なもの)

cname:
CNAME の指示先

(MX レコードのために必要なもの)

mx:
MX の指示先

(あってもなくてもよいもの)

note:
備考

そのほかの情報

accepted:
承認日時 (内容は自由)

公開鍵認証時に個人ユーザ登録申請時に入力するフィールド

以下は、 gate-user-conf(5) の $RSA_PUBKEY_AUTH に 1 を指定した場合、すなわち リモートからのパスワードログインを許可せず、 公開鍵認証によるリモートログインのみ許可する場合に入力する フィールドです。
authorized_keys:
ログインに使用する公開鍵 (テキストとして記載)
authorized_keys_setting:
公開鍵の設定内容 (none, override, append, delete のいづれか)
authorized_keys_unlocked:
公開鍵の設定許容日時 (2007-11-05T23:09:58+0900 のような書式で記述)。 ただしこの内容は gate-toroku-system(1) によって自動的に設定されます。

ユーザ関連ファイル

<$DB_BASE>/pending
保留領域。 登録申請後、認証を経ていないユーザのカードが置かれます。
<$DB_BASE>/pending/username
ユーザ username の登録申請カード
<$DB_BASE>/stable
承認済み領域。
<$DB_BASE>/stable/username
ユーザ username のユーザ情報カード
<$DB_BASE>/defunct
登録廃止済み領域。
<$DB_BASE>/defunct/username
登録抹消済みユーザ username のユーザ情報カード

ホスト関連ファイル

<$DB_IP_BASE>/pending
保留領域。 登録申請後、認証を経ていないホストのカードが置かれます。
<$DB_IP_BASE>/pending/hostname
ホスト hostname の登録申請カード
<$DB_IP_BASE>/stable
承認済み領域。
<$DB_IP_BASE>/stable/hostname
ホスト hostname のホスト情報カード
<$DB_IP_BASE>/defunct
登録廃止済み領域。
<$DB_IP_BASE>/defunct/hostname
登録廃止済みホスト hostname のホスト情報カード


HTML generated using htroff at 8 November 2021 10:12:8.