ディレクトリ,ファイル名の制約と特別な名前ディレクトリ,ファイルの名前についての制約
- ◎ EDB/CMSにおけるディレクトリ(フォルダ),ファイルの名前には半角ASCII文字を利用することを推奨する.
- すなわち,名前に利用できる文字は, 『A』〜『Z』, 『a』〜『z』, 『0』〜『9』, 『-』, 『.』, 『@』 とする.
- 上記以外の文字を利用した場合には,EDB/CMS上で行われるディレクトリ,ファイルの操作は保証されない.
- EDB/CMSで利用しているWWWサーバ自体は,和文のファイル名を利用することができる. 文字コードはUnicodeTM(エンコード方式はUTF-8)である.
- Unicodeは世界中の文字種を統合するために設計されたものであるが,残念なことに機種依存文字という概念を許容している. すなわち,オペレーティングシステムによって表示できるかどうかが左右される文字が存在する. 特に日本人が好んで使う傾向にある一文字の丸数字やローマ数字,複合文字などは危険である.
- WWWの特徴の一つとしてリンクによるコンテンツの有機的に結合があげられるが,和文を含むリンク指定がいつもうまく動作することの保障はない.
- ◎ 『.』, 『@』で始まるディレクトリ名,ファイル名は予約される.
- ビリオド『.』から始まる名前はサーバのアクセス制限設定やコンテンツの目次生成のために利用される.
- 『@』から始まる名前はコンテンツのアクセスの範囲やインデックス作成のために利用する.
- ◎ 『0』〜『9』で始まるディレクトリ名,ファイル名は特別な意味で解釈される.
- 『0』〜『9』のいずれかから始まる名前はEDBの登録情報と関連付けを行うため利用する.
特別なディレクトリ名
読み出し制限
- ディレクトリ名=@University... 学内にのみ公表するコンテンツ.
- ※ 学内とはIPアドレスが 150.59.0.0/16 に含まれるホストからのアクセス.
- ※ https(SSL接続)おいてパスワード認証またはX.509個人証明書の認証に成功したユーザは,接続元IPアドレスの制約を受けない.
- ※ アクセスを許可される可能性があるのは,本学の教職員,学生および一時的に学内ネットワークを利用している利用者である.
- ディレクトリ名=@User... ユーザ(教職員)にのみ公表するコンテンツ.
- ※ ユーザとは,EDBにおいてアカウントを所有するユーザを意味する.
- ※ 原則として,EDBのアカウントを付与されるのは,本学の教職員およびそれに類する(補佐員など)である.
- ディレクトリ名=@Member... 組織に属するメンバーにのみ公表するコンテンツ.
- ※ 対象となる情報が組織の場合のみ意味を持つ.
- ※ メンバーとは,該当の組織情報において[構成員]として登録されている個人.
- ※ 組織の構成員のリスト作成においては,下位の組織を再帰的に探索する.
- ※ 学部や学科に属する教職員,委員会の構成メンバーがこれにあたる.
- 上記のアクセス制限においてはおおむね
インターネット ⊃ @University ⊃ @User ⊃ @Memberの包含関係が満たされている.- 以上のディレクトリはディレクトリ階層のどこにある場合にも当てはまる. すなわち,
にマッチする.
- dirs1/@University/dirs2
- dirs1/@User/dirs2
- dirs1/@Member/dirs2
- 上記のディレクトリ名が入れ子になっている状態では,上位のディレクトリが下位のディレクトリのアクセス制限に影響する. すなわち,
のアクセス制限は,『@User』と同等となる.
- dirs1/@User/dirs2/@University/dirs3
書き込み制限
通常,ある情報に対応するディレクトリはその情報に関して権限を持っているユーザのみが書き込みが可能である.
- ディレクトリ名=@Writable... 対応する情報の構成員が書き込めるディレクトリ.
- 書き込み権限を構成員に広げる.
EDBのテーブル 権限をもつユーザの抽出 構成員の抽出 【組織】 その組織情報に対して権限をもつユーザ. [構成員]に登録されている個人を抽出(再帰的に抽出) 【教育プログラム】 教育プログラムの所有者および所属する組織の権限をもつユーザ. 教育プログラムが所属する組織の[構成員]に登録されている個人を抽出. 【個人】 その個人のみ. 【擬人】 その擬人に対して権限をもつユーザのみ.ただし,所有者は除く. その他 EDBの情報に対して権限をもつユーザ.
- 個人,擬人,その他の情報に対応するディレクトリに『@Writable』という名前を作成しても無意味である.
アクセス制限設定
EDB/CMSにアクセスする方法としては,
が用意されている.ディレクトリ名に対するアクセス制限は次の表のように設定される.
- ○ HTTPプロトコルによるアクセス.
- WWWブラウザを用いて『http://〜』 にアクセスする方法.
- → ユーザ認証を行わず,アクセス制限は静的に設定されている.
- → 『@passwd』が存在するディレクトリに関しては,『@passwd』によるユーザ認証を行う.(July 15, 2006)
- ○ HTTPSプロトコルによるアクセス.
- WWWブラウザを用いて『https://〜』 にアクセスする方法.
- WebDAV用のクライアントアプリケーションを用いる方法.
- → ユーザ認証が必ず必要であり,アクセス制限は静的+各ディレクトリにおけるアクセス制限設定によってアクセスの可否が判断される.
ただし,ディレクトリが入れ子になっている場合には,上位ディレクトリのアクセス制限が下位ディレクトリのアクセス制限に影響する.
Location 認証なし(http://〜) 認証あり(https://〜) インターネットユーザ EDBのユーザ(教職員) Read Write Read Write 〜/@University/〜 学内 × ○ 許可されている場合のみ可 〜/@User/〜 × × ○ 許可されている場合のみ可 〜/@Member/〜 × × 許可されている場合のみ可 許可されている場合のみ可 〜/@Writable/〜 ○ × ○ 許可されている場合のみ可 静的に設定 定期的もしくはユーザが明示的にを押して再設定を行った後有効. アクセスリスト生成に関する基本事項
アクセスリストの生成には基本的にはEDBの登録情報の権限継承関係を利用しているが,若干変更されている.
あるディレクトリの階層構造に関して,
- あるディレクトリにおいてWrite可能なユーザは常にRead可能である.
- 上位ディレクトリをRead不可なユーザは下位ディレクトリにおいて新たにRead権限を与えられることはない.
- 上位ディレクトリをWrite可能なユーザは下位ディレクトリにおいてもWrite権限を与えられる.
名前が『0』から『9』ではじまるディレクトリ,ファイル名
名前が『0』から『9』ではじまるディレクトリ,ファイル名で,の形式に当てはまるものは,正整数の部分(すなわち,最初から『.』の直前まで)をEDBの登録情報のEIDに対応するものと解釈する.
- dirs1/正整数/dirs2
- dirs1/正整数.任意の文字列/dirs2
- 正整数.拡張子
- 正整数.任意の文字列.拡張子
EDBの登録情報に関連するディレクトリ,ファイル名
- 12345.pdf
- 12345/example.pdf
- ※ EIDのディレクトリ名やファイル名が入れ子になる場合には,下位のEIDが優先する.
特別なファイル名
ファイル名 基本認証なし(http://〜) 認証あり(https://〜) 認証あり(DAV) ユーザによる
変更の可否インターネットユーザ EDBのユーザ(教職員) .htsacc アクセス制限設定ファイル(自動作成) × .sacc アクセス制限設定ファイル(自動作成)(※2) × .acc アクセス制限設定ファイル(自動作成)(※2) × @passwd ユーザが設定するパスワードファイル(※5) ○ @reader 読み権限をもつユーザの追加ファイル(※6) ○ @writer 書き権限をもつユーザの追加ファイル(※6) ○ .head.html ディレクトリインデックスの最初の部分(自動作成) × .foot.html ディレクトリインデックスの最後の部分(自動作成) × @davindex.html DAV用のインデックス(自動作成) × index.html ユーザが独自に作成するインデックス(※1) ○ sindex.html ユーザが独自に作成するインデックス(※1) ○ @replace.url リダイレクト先のURL(※3) ○ @here.url (※4) × @config (※7) 各種設定 ○
- (※1)…このファイルが存在する場合には,デフォルトのディレクトリインデックスは表示されない.
- (※2)…このファイルはユーザが消去できるように設定されているが,このファイルを単独で消去するとアクセス制限を誤作動させる危険があることに注意してください.
- (※3)…".foot.html"作成時に参照され,デフォルトのインデックスアクセス時にリダイレクトがかかる."index.html"を作成している場合には無効. ファイルの内容は
という形式.例:
URL=url
フルに書くのが好ましい.(多くのWWWブラウザでファイル自体をオープンすることが可能)
URL=http://cms.db.tokushima-u.ac.jp/DAV/lecture/1234567/ URL=http://my.server/my/folder/lecture/1234567/ URL=/DAV/lecture/1234567/ URL=@University/
url 中に非Latin文字(ex. 和文)が含まれる場合には,文字コードの違いによりWWWブラウザが正しく目的の頁を開くことができないかも知れません.和文などが含まれる場合には,必ず複数の種類のブラウザで動作を確認してください.- (※4)…現在のディレクトリを指し示す.urlファイル,"@replace.url"に名前を変更して他のディレクトリにおいて利用する.
- (※5)… EDBユーザ以外のアクセスにBasic認証を適用したい場合には,対象となるディレクトリに『@passwd』ファイルを設置する方法を提供している (July 15, 2006). ただし,読み出しのみが可能である. また, この方法ではアカウント,パスワードの管理はそのコンテンツエリアを管理している方の責任において行って頂くことになる.
- 『@passwd』は通常httpサーバで用いられる「.htpasswd」と同じフォーマットであり,現在のEDB/CMSのバージョンでは
が利用できる. 作成例は,Apacheの「htpasswd」コマンドが利用できる環境下で
- plain text (平文): (強く使うべきではない)
- crypto(3) (DES暗号化): (あまり使うべきではない)
- Apache modified MD5: (SHAが利用でない場合に使う)
- SHA: (推奨)
% htpasswd -b -c -s @passwd username passwordと実行すればよい.- 『@passwd』ファイルを実際にアクセス制限に反映させるには,ボタンをクリックして能動的にディレクトリの再設定を行う必要がある.(または,定期的な再設定作業を待つ) アクセス制限の設定は,そのディレクトリ中の
にて行われる.(ただし,ディレクトリ @User, @Member 以下では作成されない.)
- .acc … 情報のサブディレクトリにおけるアクセスコントロールファイル (削除可能)
- 『@passwd』の内容はHTTPによるアクセスからは隠蔽されるが,認証されたHTTP+SSLによるアクセスに対しては隠蔽されない.
- (※6)… EDBから自動的に生成されるReaders, Writersのリストに追加したいユーザのリストを設定するファイル.(January 24, 2007). 『@reader』に記述されたユーザはReadersリストに追加され,『@writer』に記述されたユーザはReadersリストとWritersリストの両方に追加される.
- 各々のファイルの内容は,
S12345 S12346のように必要なだけユーザ名を一行ずつ記述する.- これらのファイルを実際にアクセス制限に反映させるには,ボタンをクリックして能動的にディレクトリの再設定を行う必要がある.(または,定期的な再設定作業を待つ)
- 『@reader』『@writer』によるユーザリストの追加は,下位のディレクトリにも影響する. この影響を抑制するためには,内容が空の『@reader』『@writer』を下位ディレクトリに配置する.(階層ディレクトリ構造において,『@reader』『@writer』の内容は追加ではなくoverwriteである.)
- 上位ディレクトリにおいて読み権限のないユーザを『@reader』『@writer』中に記述しても,ユーザリスト Readers, Writers には追加されない.
- (※7)…設定時に参照される.(現時点では実験的試行)
と記述しておくと,そのディレクトリ以下についてはインデックスを作成しない. ただし,インデックスが作成されないので,@replace.urlによるリダイレクトの機能は利用できなくなる.
noindex ディレクトリ名