バージョン 1 (更新者: trac, 更新時期: 18 年 前) |
---|
アクセス制御とパーミッション
Table of Contents
Trac はシンプルなアクセス制御システムを使用しています。
パーミッションの付与は trac-admin ツールを使用して操作します。
認証していないユーザは "anonymous" としてシステムにアクセスします。 "anonymous" ユーザには anonymous/guest ユーザの権限を割り当てます。 権限がない Trac のモジュールについてはナビゲーションバーに表示されないでしょう。
これらの権限に加えて、登録したユーザ (HTTP認証を行ったユーザ) には個別に権限を付与することができます。ログインしたすべてのユーザは "authenticated" という仮想グループに所属し、 "anonymous" からパーミッションを継承します。
付与できる権限
あるユーザで全ての権限を有効にしたい場合、 TRAC_ADMIN 権限を使用してください。 TRAC_ADMIN 権限を持っているユーザは *NIX システムでの root と同じように、いかなる操作も行うことができます。
または Trac の機能ごとに異なる種類の権限を、ユーザごとに個別に付与することができます。(パーミッション名は大文字 / 小文字を区別しません):
リポジトリブラウザ
BROWSER_VIEW | リポジトリブラウザ でディレクトリの一覧表示を行う |
LOG_VIEW | リポジトリブラウザ でファイルとディレクトリのリビジョンログを表示する |
FILE_VIEW | リポジトリブラウザ でファイルを表示する |
CHANGESET_VIEW | リポジトリへのチェックイン を表示する |
チケットシステム
TICKET_VIEW | 登録済みの チケット を表示し、 チケットクエリ を実行する |
TICKET_CREATE | 新規 チケット を登録する |
TICKET_APPEND | チケット にコメントや添付ファイルを追加する |
TICKET_CHGPROP | チケットの概要フィールドを除いた チケット 属性(優先度, 担当者, キーワードなど) を変更する |
TICKET_MODIFY | TICKET_APPEND と TICKET_CHGPROP の両方に加え、 チケット の解決を可能にする |
TICKET_ADMIN | 全ての TICKET_* 権限に加え、チケットへの添付ファイルの削除やチケットの概要フィールドの変更を可能にする |
ロードマップ
MILESTONE_VIEW | マイルストーンを表示する |
MILESTONE_CREATE | 新しいマイルストーンを作成する |
MILESTONE_MODIFY | 既に存在するマイルストーンを編集する |
MILESTONE_DELETE | マイルストーンを削除する |
MILESTONE_ADMIN | 全ての MILESTONE_* 権限を持つ |
ROADMAP_VIEW | ロードマップ を表示する |
レポート
REPORT_VIEW | レポート を表示する |
REPORT_SQL_VIEW | レポート の SQL を表示する |
REPORT_CREATE | 新しい レポート を作成する |
REPORT_MODIFY | 既に存在する レポート を編集する |
REPORT_DELETE | レポート を削除する |
REPORT_ADMIN | 全ての REPORT_* 権限を持つ |
Wiki システム
WIKI_VIEW | 既に存在する Wiki ページを表示する |
WIKI_CREATE | 新しい Wiki ページを作成する |
WIKI_MODIFY | Wiki ページを編集する |
WIKI_DELETE | Wiki ページと添付ファイルを削除する |
WIKI_ADMIN | 全ての WIKI_* 権限に加え、読み込み専用 ページを管理する |
その他
TIMELINE_VIEW | タイムライン を表示する |
SEARCH_VIEW | 検索 の表示と実行 |
CONFIG_VIEW | Trac について のページに追加して、現在のコンフィグやインストールされているプラグインの表示を可能にする |
権限の付与
trac-admin を使用してユーザに権限を与えて下さい。現在設定されている権限は以下のコマンドで一覧できます:
$ trac-admin /path/to/projenv permission list
次のコマンドはユーザ bob にレポートの削除権限を与えます:
$ trac-admin /path/to/projenv permission add bob REPORT_DELETE
permission add コマンドでは複数の権限を扱うことができます:
$ trac-admin /path/to/projenv permission add bob REPORT_DELETE WIKI_CREATE
パーミッショングループ
パーミッションをグループ化してロール (developer、admin、etc.) を構成することができます
$ trac-admin /path/to/projenv permission add developer WIKI_ADMIN $ trac-admin /path/to/projenv permission add developer REPORT_ADMIN $ trac-admin /path/to/projenv permission add developer TICKET_MODIFY $ trac-admin /path/to/projenv permission add bob developer $ trac-admin /path/to/projenv permission add john developer
グループのメンバーは permission list を引数なしで起動すると見ることができます; 出力される結果にはグループのメンバが含まれているでしょう。グループ名には小文字を使ってください。大文字は権限名のために予約されています。
パーミッションを削除する
パーミッションは 'remove' コマンドを使用して削除します。例:
このコマンドは、ユーザ bob から レポート権限を削除します:
$ trac-admin /path/to/projenv permission remove bob REPORT_DELETE
permission add と同様に、このコマンドは複数の権限名を扱うことができます。
特定のユーザからすべての権限を削除することもできます:
$ trac-admin /path/to/projenv permission remove bob *
または、すべてのユーザからある権限を削除することもできます:
$ trac-admin /path/to/projenv permission remove * REPORT_ADMIN
デフォルトのパーミッション
特別なユーザ anonymous に権限を付与することで、未ログイン状態の匿名ユーザに権限を付与することができます。
同様に、特別なユーザ authenticated に権限を付与することで、 (HTTP認証に登録された) 全登録ユーザに権限を一律に設定することができます。
See also: TracAdmin, TracGuide and FineGrainedPermissions