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