アクセス制御とパーミッション

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_APPENDTICKET_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

パーミッショングループ

パーミッションをグループ化してロール (developeradmin、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

track feed