目次

関連項目
EDB/CMSの名前の制約と特別な名前
EDB/CMSのアクセスコントロール
EDB/CMS - サーバの切替え (ヘルプ)

この文書における表記について

USER ユーザ毎に割り振られたディレクトリ
EID EDBにおける情報識別子
dirs 0個以上のディレクトリ階層

EDB/CMSの目的

EDB/CMSは,本学の教職員が学内外のネットワーク利用者に対して,ある種のコンテンツを好評,もしくは共有するために用意される.

具体的には,

等が目的として挙げられる.また,これらの範囲にとどまらず,学内の教育,研究活動に置ける用途に利用可能とする.

なお,EDB/CMSは単に個々のユーザのためのファイル置き場ではなく,コンテンツを公表,共有するためのものであることに注意してください.

EDB/CMSの概念

EDB/CMSには,以下のような特徴がある.

The concept of EDB/CMS The concept of EDB/CMS

EDB/CMSのサーバでは,WebDAV(Web-based Distributed Authoring and Versioning)という技術が使われている.これは,

となる.

EDB/CMSは,既存のアカウンティングシステムとは独立に,ユーザの権限,グループを設定可能.詳細な設定はEDBのユーザ情報,組織情報をベースに自動化する(EDBで同一の組織に属しているユーザのみに書き込み許可を与える等).

EDB/CMSの利用例

等,繁雑なサーバの管理から利用者を解放するために運用する.

制約事項

EDB/CMSで運用しているウェブサーバは,通常のウェブサーバと同様に利用できるが,以下の制約がある.

サーバサイドで実行されるスクリプトは利用できない
ウェブサーバに登録されるすべてのコンテンツはシステム内で同一のユーザ(www)の所有として扱われる.これは,ファイルの共有を実現するために必要不可欠である.このため,CGI等によるスクリプトの許可は,禁止されるべきコンテンツへのアクセスを許してしまうことになり,事実上アクセス制限を掛けることが不可能になる.ブラウザサイドで動作するJavaScript等は制限なく利用できる
ファイルのシンボリックリンクによる参照の禁止
前項と同様の理由による
独自の方法でアクセス制限を設定することは許可されない
個々のユーザによる独自のアクセス制限の設定は,コンテンツを共有している他のユーザとの理解の相違を生むことになることによる

EDB/CMSの認証

EDB/CMSのユーザ,およびその認証情報はEDBにおいて行われる.

ユーザリスト

EDBのユーザのリストと同一(すなわち,学内の教職員とそれに類する人々)

ユーザのアカウント名

EDBにおける個人情報の識別子EIDをもとに「SEID」という名前になる.ただし,X.509個人証明書による認証の場合には,このアカウント名を利用する必要はない.

ユーザの認証情報

EDB/CMSのユーザの認証情報は,EDBにおいて,

で管理される

ユーザ情報の作成手順とEDB/CMSへの伝搬は,

  1. 【個人】情報の更新をトリガとして,EDBユーザに関する
    • 【個人】.[パスワード](person.password)
    • 【個人】.[証明書](person.certificate)

    のリスト:http://web.db.tokushima-u.ac.jp/export/cms.db.tokushima-u.ac.jp/

    • edb-users.age(ユーザリストの更新情報)
    • edb-users.p7m.signed(ユーザリスト,パスワード,証明書の情報を含む.暗号化,署名済み)

    を生成する

  2. EDB/CMSから定期的(五分間)にedb-users.ageを取得し,ユーザリストの更新をチェックする
  3. ユーザリストが更新されていれば,edb-users.p7m.signedを取得し,署名確認と復号化を行い,edb-usersを得る
  4. 新規に増えたユーザがいる場合には,そのユーザのディレクトリを作成する

となる

【個人】.[パスワード](person.password)の登録・修正からEDB/CMSへの伝搬までには10分程度の遅れがあることに注意.

接続方法

ウェブブラウザを利用する場合

WebDAVクライアントを利用する場合

EDB/CMSサーバの認証は,HTTPの認証(Basic認証)を利用する.また,サーバ全体に関して認証に利用するユーザパスワードファイル(passwd)は統一されている.したがって,通常のブラウザの挙動,「上位ディレクトリでの認証情報が下位ディレクトリに利用される」と同じ効果が期待できる.

換言すれば,最上位ディレクトリで認証情報をブラウザやWebDAVクライアントに登録しておけば,それ以下のディレクトリでは認証ダイアログを表示させることなく,許可されたディレクトリにアクセスすることが可能となる.

定期的な作業

定期的なコンテンツディレクトリ作成

EDB/CMSの定期的(一日一回)なコンテンツディレクトリの管理として,大学の組織情報から辿れるEDBの登録情報に対してスキャンを行い,

を行う.

定期的なコンテンツのインデックス生成

定期的にEDB/CMS内のファイルをスキャンし,ファイルのインデックス(索引)を生成し,Webブラウザでの閲覧を補助するためのページを作成する(未実装).

インデックスの生成には,

を手法として活用する予定.

EDB/CMSのディレクトリ

EDB/CMSで運用されるディレクトリには,以下のようなものがある.

ユーザのディレクトリ
/DAV/person/SEID
  • EIDは個人情報の識別子EIDである
  • EDB/CMSにアクセスするユーザには,自身のホームディレクトリ以下について読み書きが許可される
擬人のディレクトリ
/DAV/personification/SEID
  • EIDは擬人情報の識別子EIDである
  • 擬人に対して権限を持つユーザに対して書き込みが許可される
組織のディレクトリ
/DAV/organization/EID
  • EIDは組織情報の識別子EIDである
  • その組織に権限を持つユーザに対して書き込みが許可される
  • その組織に[構成員]として登録されているユーザに対して書き込み権限を与えるには,「/DAV/organization/EID/dirs/@Writable」というディレクトリを作成する
その他の情報のディレクトリ
/DAV/XN/EID
  • EIDはその情報が属するテーブルのXML名である

EDB/CMSのディレクトリ構成

1LD 2LD 3LD 4LD 〜
/ DAV / person / SEID / ユーザに割り当てられたディレクトリ
personification / SEID / 擬人に割り当てられたディレクトリ
organization / EID / 組織に割り当てられたディレクトリ
XN / EID / 各々の情報に割り当てられたディレクトリ
情報が属しているテーブルのXML名 / EDBの情報識別子.ただし,個人と擬人はアカウント名に合わせて「S」を前に付ける / 各々の情報に割り当てられたディレクトリ

ユーザ設定可能な特別なファイル

各ディレクトリには,EDB/CMSの定期的な作業により,

.head.html
ディレクトリインデックスを表示する前の部分
.foot.html
ディレクトリインデックスを表示する後の部分

のファイルが生成される.これは,ユーザが明示的にインデックスフィアルを作成しない場合に利用される.これらのファイル内容は定期的に更新されるので,ユーザ側で変更したとしても,次の日には元に戻ってしまう.

ユーザが独自にインデックスファイルを作成する場合には,

index.html
http://cms.〜, http://cms-ldap.〜, https://cms-ldap.〜でアクセスしたときに利用されるインデックスファイル
sindex.html
https://cms.〜またはhttps://cms-pki.〜でアクセスしたときに利用されるインデックスファイル

という名前のファイルをディレクトリに置けば,そのファイル内容が優先される.

ディレクトリインデックスの表示方法

ファイル名 存在するとき 存在しないとき
http://cms.-
http://cms-ldap.-
https://cms-ldap.-
https://cms.-
https://cms-pki.-
http://cms.-
http://cms-ldap.-
https://cms-ldap.-
https://cms.-
https://cms-pki.-
index.html index.htmlの内容を表示 存在しないときと同様 ディレクトリインデックスの表示は,
  1. .head.htmlの内容
  2. ウェブサーバのディフォルトのディレクトリインデックス
  3. .foot.htmlの内容
の順に出力され,ページを作成する
sindex.html 存在しないときと同様 sindex.htmlの内容を表示

ディレクトリ/ファイル名の規則

USER/dirs/EID.ext
EDBのEIDがEIDの情報に直接関連するコンテンツ

EDBの登録情報に関連するファイル名

/DAV/person/S123456/23456.pdf
USER/dirs/EID/lower
EDBのEIDがEIDの情報に関連するコンテンツ群

EDBの登録情報に関連するファイル名

dirs部分のディレクトリ名は無視される.

lowerのディレクトリ,ファイルはすべてEIDに関連したコンテンツ群と解釈される.

ディレクトリ構成例

個人,擬人のディレクトリ構成例

/DAV/
  person/                   ユーザのディレクトリを集めたディレクトリ
    S12345/                 ユーザ(EID=12345)のディレクトリ
      @University/          学内に公表するコンテンツを入れるディレクトリ
        Article/            著作用
          23456.pdf         著作(EID=23456)の別刷り
          23457.pdf         著作(EID=23457)の別刷り
          23458.pdf         著作(EID=23458)の別刷り
      @User/                教職員に公表するコンテンツを入れるディレクトリ
      @Member/              自分のみに公表するコンテンツを入れるディレクトリ
      Lecture/              アクセス制限がかからないディレクトリ(講義用)
        34567/              講義(EID=34567)に関するコンテンツを入れるディレクトリ
          outline.pdf       講義の概要
          exercise-1.pdf    講義の演習問題1
          exercise-2.pdf    講義の演習問題2
          report.pdf        講義の小レポート
        34568/              講義(EID=34568)に関するコンテンツを入れるディレクトリ
          outline.pdf       講義の概要
          exercise.pdf      講義の演習問題
          report-1.pdf      講義の小レポート1
          report-2.pdf      講義の小レポート2
        34569/              講義(EID=34569)に関するコンテンツを入れるディレクトリ
      Article/              アクセス制限が掛からないディレクトリ(著作用)

組織のディレクトリ構成例

/DAV/
  organization/       組織のディレクトリを集めたディレクトリ
    12345/            組織(EID=12345)のディレクトリ
      @University/    学内に公表するコンテンツをいれるディレクトリ
        @Writable/    組織の構成員が書き込めるディレクトリ
      @User/          教職員に公表するコンテンツをいれるディレクトリ
        @Writable/    組織の構成員が書き込めるディレクトリ
      @Member/        組織の構成員のみに公表するコンテンツをいれるディレクトリ
        @Writable/    組織の構成員が書き込めるディレクトリ