| 1 | = アクセス制御とパーミッション = |
| 2 | [[TracGuideToc]] |
| 3 | |
| 4 | Trac はシンプルなアクセス制御システムを使用しています。 |
| 5 | |
| 6 | パーミッションの付与は [wiki:TracAdmin trac-admin] ツールを使用して操作します。 |
| 7 | |
| 8 | 認証していないユーザは "anonymous" としてシステムにアクセスします。 "anonymous" ユーザには anonymous/guest ユーザの権限を割り当てます。 権限がない Trac のモジュールについてはナビゲーションバーに表示されないでしょう。 |
| 9 | |
| 10 | これらの権限に加えて、登録したユーザ (HTTP認証を行ったユーザ) には個別に権限を付与することができます。ログインしたすべてのユーザは "authenticated" という仮想グループに所属し、 "anonymous" からパーミッションを継承します。 |
| 11 | |
| 12 | == 付与できる権限 == |
| 13 | |
| 14 | あるユーザで全ての権限を有効にしたい場合、 `TRAC_ADMIN` 権限を使用してください。 `TRAC_ADMIN` 権限を持っているユーザは *NIX システムでの `root` と同じように、いかなる操作も行うことができます。 |
| 15 | |
| 16 | または Trac の機能ごとに異なる種類の権限を、ユーザごとに個別に付与することができます。(パーミッション名は大文字 / 小文字を区別しません): |
| 17 | |
| 18 | === リポジトリブラウザ === |
| 19 | |
| 20 | || `BROWSER_VIEW` || [wiki:TracBrowser リポジトリブラウザ] でディレクトリの一覧表示を行う || |
| 21 | || `LOG_VIEW` || [wiki:TracBrowser リポジトリブラウザ] でファイルとディレクトリのリビジョンログを表示する || |
| 22 | || `FILE_VIEW` || [wiki:TracBrowser リポジトリブラウザ] でファイルを表示する || |
| 23 | || `CHANGESET_VIEW` || [wiki:TracChangeset リポジトリへのチェックイン] を表示する || |
| 24 | |
| 25 | === チケットシステム === |
| 26 | |
| 27 | || `TICKET_VIEW` || 登録済みの [wiki:TracTickets チケット] を表示し、 [wiki:TracQuery チケットクエリ] を実行する || |
| 28 | || `TICKET_CREATE` || 新規 [wiki:TracTickets チケット] を登録する || |
| 29 | || `TICKET_APPEND` || [wiki:TracTickets チケット] にコメントや添付ファイルを追加する || |
| 30 | || `TICKET_CHGPROP` || チケットの概要フィールドを除いた [wiki:TracTickets チケット] 属性(優先度, 担当者, キーワードなど) を変更する || |
| 31 | || `TICKET_MODIFY` || `TICKET_APPEND` と `TICKET_CHGPROP` の両方に加え、 [wiki:TracTickets チケット] の解決を可能にする || |
| 32 | || `TICKET_ADMIN` || 全ての `TICKET_*` 権限に加え、チケットへの添付ファイルの削除やチケットの概要フィールドの変更を可能にする || |
| 33 | |
| 34 | === ロードマップ === |
| 35 | |
| 36 | || `MILESTONE_VIEW` || マイルストーンを表示する || |
| 37 | || `MILESTONE_CREATE` || 新しいマイルストーンを作成する || |
| 38 | || `MILESTONE_MODIFY` || 既に存在するマイルストーンを編集する || |
| 39 | || `MILESTONE_DELETE` || マイルストーンを削除する || |
| 40 | || `MILESTONE_ADMIN` || 全ての `MILESTONE_*` 権限を持つ || |
| 41 | || `ROADMAP_VIEW` || [wiki:TracRoadmap ロードマップ] を表示する || |
| 42 | |
| 43 | === レポート === |
| 44 | |
| 45 | || `REPORT_VIEW` || [wiki:TracReports レポート] を表示する || |
| 46 | || `REPORT_SQL_VIEW` || [wiki:TracReports レポート] の SQL を表示する || |
| 47 | || `REPORT_CREATE` || 新しい [wiki:TracReports レポート] を作成する || |
| 48 | || `REPORT_MODIFY` || 既に存在する [wiki:TracReports レポート] を編集する || |
| 49 | || `REPORT_DELETE` || [wiki:TracReports レポート] を削除する || |
| 50 | || `REPORT_ADMIN` || 全ての `REPORT_*` 権限を持つ || |
| 51 | |
| 52 | === Wiki システム === |
| 53 | |
| 54 | || `WIKI_VIEW` || 既に存在する [wiki:TracWiki Wiki] ページを表示する || |
| 55 | || `WIKI_CREATE` || 新しい [wiki:TracWiki Wiki] ページを作成する || |
| 56 | || `WIKI_MODIFY` || [wiki:TracWiki Wiki] ページを編集する || |
| 57 | || `WIKI_DELETE` || [wiki:TracWiki Wiki] ページと添付ファイルを削除する || |
| 58 | || `WIKI_ADMIN` || 全ての `WIKI_*` 権限に加え、''読み込み専用'' ページを管理する || |
| 59 | |
| 60 | === その他 === |
| 61 | |
| 62 | || `TIMELINE_VIEW` || [wiki:TracTimeline タイムライン] を表示する || |
| 63 | || `SEARCH_VIEW` || [wiki:TracSearch 検索] の表示と実行 || |
| 64 | || `CONFIG_VIEW` || ''Trac について'' のページに追加して、現在のコンフィグやインストールされているプラグインの表示を可能にする || |
| 65 | |
| 66 | == 権限の付与 == |
| 67 | |
| 68 | [wiki:TracAdmin trac-admin] を使用してユーザに権限を与えて下さい。現在設定されている権限は以下のコマンドで一覧できます: |
| 69 | {{{ |
| 70 | $ trac-admin /path/to/projenv permission list |
| 71 | }}} |
| 72 | |
| 73 | 次のコマンドはユーザ ''bob'' にレポートの削除権限を与えます: |
| 74 | {{{ |
| 75 | $ trac-admin /path/to/projenv permission add bob REPORT_DELETE |
| 76 | }}} |
| 77 | |
| 78 | `permission add` コマンドでは複数の権限を扱うことができます: |
| 79 | {{{ |
| 80 | $ trac-admin /path/to/projenv permission add bob REPORT_DELETE WIKI_CREATE |
| 81 | }}} |
| 82 | |
| 83 | == パーミッショングループ == |
| 84 | |
| 85 | パーミッションをグループ化してロール (''developer''、''admin''、etc.) を構成することができます |
| 86 | {{{ |
| 87 | $ trac-admin /path/to/projenv permission add developer WIKI_ADMIN |
| 88 | $ trac-admin /path/to/projenv permission add developer REPORT_ADMIN |
| 89 | $ trac-admin /path/to/projenv permission add developer TICKET_MODIFY |
| 90 | $ trac-admin /path/to/projenv permission add bob developer |
| 91 | $ trac-admin /path/to/projenv permission add john developer |
| 92 | }}} |
| 93 | |
| 94 | グループのメンバーは {{{permission list}}} を引数なしで起動すると見ることができます; 出力される結果にはグループのメンバが含まれているでしょう。グループ名には小文字を使ってください。大文字は権限名のために予約されています。 |
| 95 | |
| 96 | == パーミッションを削除する == |
| 97 | |
| 98 | パーミッションは 'remove' コマンドを使用して削除します。例: |
| 99 | |
| 100 | このコマンドは、ユーザ ''bob'' から レポート権限を削除します: |
| 101 | {{{ |
| 102 | $ trac-admin /path/to/projenv permission remove bob REPORT_DELETE |
| 103 | }}} |
| 104 | |
| 105 | `permission add` と同様に、このコマンドは複数の権限名を扱うことができます。 |
| 106 | |
| 107 | 特定のユーザからすべての権限を削除することもできます: |
| 108 | {{{ |
| 109 | $ trac-admin /path/to/projenv permission remove bob * |
| 110 | }}} |
| 111 | |
| 112 | または、すべてのユーザからある権限を削除することもできます: |
| 113 | {{{ |
| 114 | $ trac-admin /path/to/projenv permission remove * REPORT_ADMIN |
| 115 | }}} |
| 116 | |
| 117 | == デフォルトのパーミッション == |
| 118 | |
| 119 | 特別なユーザ ''anonymous'' に権限を付与することで、未ログイン状態の匿名ユーザに権限を付与することができます。 |
| 120 | |
| 121 | 同様に、特別なユーザ ''authenticated'' に権限を付与することで、 (HTTP認証に登録された) 全登録ユーザに権限を一律に設定することができます。 |
| 122 | |
| 123 | ---- |
| 124 | See also: TracAdmin, TracGuide and [http://trac.edgewall.org/wiki/FineGrainedPermissions FineGrainedPermissions] |