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

Tracはアクセス制御にシンプルでありながら柔軟なパーミッションシステムを使用します。

パーミッションの付与は trac-admin ツールを使用して操作します。

システムにアクセスする通常のビジター (HTTP認証を通らないユーザ) は、 anonymous という デフォルトのロール (仮想のユーザ) を割り当てられます。 未登録のユーザ/ゲストユーザの権限を設定するためには、anonymous ユーザにパーミッションを設定してください。

これらの権限に加えて、登録したユーザ (HTTP認証を行ったユーザ) には個別に 権限を付与することができます。

付与できる権限

あるユーザで全ての権限を有効にしたい場合、 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 ロードマップ を表示する
ROADMAP_ADMIN MILESTONE_ADMIN の別名 (重複しています)

レポート

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

パーミッショングループ

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

デフォルトパーミッション

特別なユーザ anonymous に権限を付与することで、未ログイン状態の匿名ユーザに権限を付与することができます。

同様に、特別なユーザ authenticated に権限を付与することで、 (HTTP認証に登録された) 全登録ユーザに権限を一律に設定することができます。


See also: TracAdmin, TracGuide