projects:big-model:manual:devel:acl:start
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| projects:big-model:manual:devel:acl:start [2025/06/02 06:50] – 124.44.112.148 | projects:big-model:manual:devel:acl:start [2025/06/02 07:12] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 23: | 行 23: | ||
| ===== 仕様 ===== | ===== 仕様 ===== | ||
| - | 各種の設定ファイルに権限を付与または剥奪するユーザIDを追加し、各ディレクトリに配置することで機能します。\\ | + | 本アプリケーションでの仕様は次の通りです。\\ |
| - | BIG-Model 4.0では、ユーザのグループ管理が可能になり、従来のユーザIDによる指定の他、グループ名で指定できるようになっています。グループの仕組みについてはこちらのページをご参照ください。\\ | + | |
| - | ==== シスオペ権限(SYSOPID) ==== | + | * 設定はデータベース上のテーブル acl で権限を、テーブル acl_user でユーザを管理。\\ |
| - | シスオペ権限はシスオペコマンド( SYST )の実行権限を持つことができ、システムの停止やユーザ管理、掲示板や投稿の管理など、全権限を掌握します。\\ | + | <code sql> |
| + | CREATE TABLE `acl` ( | ||
| + | `path` VARCHAR(255) NULL DEFAULT NULL COLLATE ' | ||
| + | `aclid` VARCHAR(32) NULL DEFAULT NULL COLLATE ' | ||
| + | `author` VARCHAR(128) NULL DEFAULT NULL COLLATE ' | ||
| + | ) | ||
| + | COLLATE=' | ||
| + | ENGINE=InnoDB | ||
| + | ; | ||
| - | ディレクトリ DANGER/ | + | CREATE TABLE `acl_user` |
| - | + | `path` VARCHAR(255) NULL DEFAULT NULL COLLATE ' | |
| - | <code text> | + | `id` VARCHAR(128) NULL DEFAULT NULL COLLATE ' |
| - | [ DANGER ] | + | ) |
| - | +--[ OTHERS ] | + | COLLATE=' |
| - | | +--[ SYSOPID ] ← 任命するユーザを追加 | + | ENGINE=InnoDB |
| - | </ | + | ; |
| - | + | ||
| - | ==== ゲスト権限(GUESTID) ==== | + | |
| - | + | ||
| - | ゲスト権限はユーザIDを作成しなくてもログインを行うことができる特別な権限を持つユーザですが、ユーザIDを作成していない分、身分を明かさないので、一部のサービスの利用が制限されることがあり、例えば、電子メールや電報、電子掲示板の投稿ができないように制限されますが、これらはホストシステムの仕様ではなく、シスオペ権限によるため、シスオペの裁量により利用を許可していた運営局もあったようです。\\ | + | |
| - | + | ||
| - | ディレクトリ DANGER/ | + | |
| - | ただし追加するユーザIDは、すでに登録されているユーザIDを指定することができないため、登録していないIDをゲストIDとして登録します。\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ OTHERS ] | + | |
| - | | +--[ GUESTID ] ← 任命するユーザを追加 | + | |
| - | </ | + | |
| - | + | ||
| - | ゲストIDでログインすると、プロフィール(ハンドルネーム)の入力が促され、入力するとシステムが開始されます。\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | IDを入力してください : BIG00000 | + | |
| - | プロフィールを入力してください : | + | |
| - | </ | + | |
| - | + | ||
| - | ==== シグオペ権限(SIGOPID) ==== | + | |
| - | + | ||
| - | シグオペ権限は、掲示板の投稿を削除する権限を付与されます。\\ | + | |
| - | + | ||
| - | ディレクトリ DANGER/ | + | |
| - | ディレクトリ DANGER/ | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | + | |
| - | </ | + | |
| - | + | ||
| - | + | ||
| - | ==== メンバー権限(MEMBER/ | + | |
| - | + | ||
| - | メンバー権限は、一部のユーザ(およびユーザグループ)にのみサービスを提供し、それ以外のユーザを締め出します。\\ | + | |
| - | バージョン 3.0 では、電子掲示板にのみ設定を行うことができましたが、バージョン 4.0 では、チャットルームにも設定を行うことができるようになっています。\\ | + | |
| - | 掲示板では、ディレクトリ DANGER/ | + | |
| - | ファイル MEMBER は、ファイルに追加されたユーザIDが設置したディレクトリ以降の掲示板を利用することが許可され、追加されていないユーザは利用を拒否されます。\\ | + | |
| - | ファイル NMEMBER は、反対に、ファイルに追加されたユーザIDが設置したディレクトリ以降の掲示板の利用を禁止し、追加されていないユーザは利用を許可されます。\\ | + | |
| - | ファイル NMEMBER と ファイル MEMBER が同一ディレクトリに設置されている場合、ファイル MEMBER の設定が無効となり、ファイル NMEMBER の設定が有効となります。 | + | |
| - | + | ||
| - | 例えば、 | + | |
| - | + | ||
| - | <code html> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(2) | + | |
| - | | +--[ NMEMBER ] ← ユーザ BIG00002 を追加 | + | |
| - | | +--[ MEMBER ] ← ユーザ BIG00002 を追加 | + | |
| - | </ | + | |
| - | + | ||
| - | のようにファイルを設置した場合、ファイル MEMBER の設定が無効となり、ファイル NMEMBER の設定が有効になります。\\ | + | |
| - | したがって、ユーザ BIG00002 は掲示板(1)から締め出されます。\\ | + | |
| - | + | ||
| - | また、次のような場合、 | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ MEMBER ] ← 誰も追加していない空ファイル | + | |
| - | </ | + | |
| - | + | ||
| - | は、ファイル MEMBER に許可するユーザが追加されていないため、全てのユーザが掲示板(1)から締め出されます。\\ | + | |
| - | + | ||
| - | さらに、次のような場合、 | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1)のサブメニュー | + | |
| - | | +--[ SUBMENU ] | + | |
| - | | +--[ NMEMBER ] ← ユーザ BIG00002 を追加 | + | |
| - | | +--[ 1 ] ← 掲示板(1-1) | + | |
| - | | +--[ MEMBER ] ← ユーザ BIG00002 を追加 | + | |
| - | </ | + | |
| - | + | ||
| - | は、掲示板(1-1)の上位にあたる掲示板(1)のサブメニューのディレクトリで、ファイル NMEMBER に、ユーザ BIG00002 が拒否ユーザとして登録されているため、掲示板(1)の配下にある掲示板(1-1)のディレクトリでファイル MEMBER に | + | |
| - | ユーザ BIG00002 を登録していても無効となり、ユーザ BIG00002 は掲示板(1)と掲示板(1-1)から締め出されます。\\ | + | |
| - | ファイル MEMBER/ | + | |
| - | + | ||
| - | ==== 掲示板の投稿権限(WRITER/ | + | |
| - | + | ||
| - | 投稿権限は、掲示板のための権限で、権限が付与されたユーザは、掲示板への投稿が許可されます。\\ | + | |
| - | 許可されているユーザは、掲示板に入ったとき、次のようなプロンプトを表示します。\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | 選択してください ( [W] 書く [R] 読む [yy-mm-dd] 日付 ) | + | |
| - | </ | + | |
| - | + | ||
| - | また、投稿権限が剥奪されているときは、\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | 選択してください ( [R] 読む [yy-mm-dd] 日付 ) | + | |
| - | </ | + | |
| - | + | ||
| - | と表示されます。\\ | + | |
| - | + | ||
| - | ファイル WRITER/ | + | |
| - | ファイルは必ず、末端の掲示板ディレクトリに配置します。\\ | + | |
| - | + | ||
| - | <note type=" | + | |
| - | BIG-Model 4.0 ユーザズマニュアルによると、「投稿権限を付与されたユーザは、閲覧権限が同時に与えられる」とのことですが、この辺りの解説が煩雑で、理解し難いので、要約します。\\ | + | |
| - | </ | + | |
| - | まず、掲示板におけるユーザの権限は初期状態で、投稿、閲覧共に権限が許可されています。\\ | + | |
| - | この初期状態から、2段階の設定を行って権限を剥奪しますが、この組み合わせから、ユーザの権限はつぎの3タイプに分かれます。\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | (1) 投稿+閲覧(全ての権限を許可) | + | |
| - | (2) 閲覧のみ(投稿権限を剥奪し、投稿権限を禁止) | + | |
| - | (3) アクセス権限なし(閲覧権限を剥奪し、全ての権限を禁止) | + | |
| - | </ | + | |
| - | + | ||
| - | 前述、「投稿権限が付与されると、閲覧権限も同時に付与される」と説明している以上、投稿権限を許可し、閲覧権限を剥奪することは不可能であるようです。\\ | + | |
| - | + | ||
| - | === 投稿権限の禁止設定 === | + | |
| - | + | ||
| - | ファイル NWRITER に禁止するユーザを追加するか、ファイル WRITER に禁止するユーザを追加しない、いずれかのファイルを設置します。\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ WRITER ] ← ユーザ BIG00002 を追加 | + | |
| - | </ | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ NWRITER ] ← ユーザ BIG00002 を追加しない | + | |
| - | </ | + | |
| - | + | ||
| - | この段階で投稿権限が剥奪されたユーザは、掲示板に入ったときに、\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | 選択してください ( [R] 読む [yy-mm-dd] 日付 ) | + | |
| - | </ | + | |
| - | + | ||
| - | のプロンプトを表示します。\\ | + | |
| - | この段階で投稿権限が付与されたユーザは、閲覧権限も付与されるため、掲示板に入ったときに、 | + | |
| - | + | ||
| - | <code text> | + | |
| - | 選択してください ( [W] 書く [R] 読む [yy-mm-dd] 日付 ) | + | |
| - | </ | + | |
| - | + | ||
| - | のプロンプトを表示します。\\ | + | |
| - | + | ||
| - | === 閲覧権限の禁止設定 === | + | |
| - | + | ||
| - | 投稿権限の設定を踏まえて、ファイル NREADER に禁止するユーザを追加するか、ファイル READER に禁止するユーザを追加しない、いずれかのファイルを設置します。\\ | + | |
| - | この段階で閲覧権限が剥奪されたユーザは、掲示板に入っても投稿、閲覧のいずれの権限も付与されていないため、\\ | + | |
| - | + | ||
| - | <code text> | + | |
| - | ** アクセス権がありません ** | + | |
| - | </ | + | |
| - | + | ||
| - | と表示して、掲示板から締め出されます。\\ | + | |
| - | + | ||
| - | 閲覧権限は、ファイル READER/ | + | |
| - | + | ||
| - | 例えば、ユーザ BIG00002 の投稿権限を剥奪(閲覧のみを許可)する場合、 | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ NWRITER ] ← ユーザ BIG00002 を追加 | + | |
| - | </ | + | |
| - | + | ||
| - | または | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ WRITER ] ← ユーザ BIG00002 を追加しない | + | |
| - | </ | + | |
| - | + | ||
| - | と設定します。\\ | + | |
| - | この段階では、ファイル READER/ | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ NWRITER ] ← ユーザ BIG00002 を追加 | + | |
| - | | +--[ NREADER ] ← ユーザ BIG00002 を追加 | + | |
| - | </ | + | |
| - | + | ||
| - | または、 | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ NWRITER ] ← ユーザ BIG00002 を追加 | + | |
| - | | +--[ READER ] ← ユーザ BIG00002 を追加しない | + | |
| - | </ | + | |
| - | + | ||
| - | もしくは、 | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ WRITER ] ← ユーザ BIG00002 を追加しない | + | |
| - | | +--[ NREADER ] ← ユーザ BIG00002 を追加 | + | |
| - | </ | + | |
| - | + | ||
| - | または、 | + | |
| - | + | ||
| - | <code text> | + | |
| - | [ DANGER ] | + | |
| - | +--[ BOARD ] ← 掲示板ディレクトリ | + | |
| - | | +--[ 1 ] ← 掲示板(1) | + | |
| - | | +--[ WRITER ] ← ユーザ BIG00002 を追加しない | + | |
| - | | + | |
| </ | </ | ||
| - | とします。\\ | + | * パス(シグシンボル)単位で、権限設定を行う。 |
| - | この段階で、投稿と閲覧の両方の権限を剥奪しますので、掲示板(1)から締め出されます。\\ | + | * 権限の判定処理をACLモジュールとして定義(acl.pm)。 |
| + | * オリジナルと同様、グループIDに対応できるよう、ユーザグループの管理を行って、連携できるようにする。 | ||
| + | * BIG-Modelのコンソールから設定が行えるようにする(シスオペコマンドに追加)他、メンテナンスツールを別途用意(予定)。 | ||
| - | ===== その他 | + | ===== メモ |
| + | * ユーザグループ管理モジュール(Usergroup.pm)は完成。 | ||
projects/big-model/manual/devel/acl/start.1748814647.txt.gz · 最終更新: 2025/06/02 06:50 by 124.44.112.148