|   | 1 | = Trac Permissions = | 
                  
                          |   | 2 | [[TracGuideToc]] | 
                  
                          |   | 3 |  | 
                  
                          |   | 4 | Trac uses a simple but flexible permission system to control what users can and can't access. | 
                  
                          |   | 5 |  | 
                  
                          |   | 6 | Permission privileges are managed using the [wiki:TracAdmin trac-admin] tool. | 
                  
                          |   | 7 |  | 
                  
                          |   | 8 | Regular visitors, non-authenticated users, accessing the system are assigned the default  | 
                  
                          |   | 9 | role (''user'') named {{{anonymous}}}.  | 
                  
                          |   | 10 | Assign permissions to the {{{anonymous}}} user to set privileges for non-authenticated/guest users. | 
                  
                          |   | 11 |  | 
                  
                          |   | 12 | In addition to these privileges users can be granted additional individual  | 
                  
                          |   | 13 | rights in effect when authenticated and logged into the system. | 
                  
                          |   | 14 |  | 
                  
                          |   | 15 | == Available Privileges == | 
                  
                          |   | 16 |  | 
                  
                          |   | 17 | To enable all privileges for a user, use the `TRAC_ADMIN` permission. Having `TRAC_ADMIN` is like being `root` on a *NIX system, it will let you do anything you want. | 
                  
                          |   | 18 |  | 
                  
                          |   | 19 | Otherwise, individual privileges can be assigned to users for the various different functional areas of Trac: | 
                  
                          |   | 20 |  | 
                  
                          |   | 21 | === Repository Browser === | 
                  
                          |   | 22 |  | 
                  
                          |   | 23 | || `BROWSER_VIEW` || View directory listings in the [wiki:TracBrowser repository browser] || | 
                  
                          |   | 24 | || `LOG_VIEW` || View revision logs of files and directories in the [wiki:TracBrowser repository browser] || | 
                  
                          |   | 25 | || `FILE_VIEW` || View files in the [wiki:TracBrowser repository browser] || | 
                  
                          |   | 26 | || `CHANGESET_VIEW` || View [wiki:TracChangeset repository check-ins] || | 
                  
                          |   | 27 |  | 
                  
                          |   | 28 | === Ticket System === | 
                  
                          |   | 29 |  | 
                  
                          |   | 30 | || `TICKET_VIEW` || View existing [wiki:TracTickets tickets] and perform [wiki:TracQuery ticket queries] || | 
                  
                          |   | 31 | || `TICKET_CREATE` || Create new [wiki:TracTickets tickets] || | 
                  
                          |   | 32 | || `TICKET_APPEND` || Add comments or attachments to [wiki:TracTickets tickets] || | 
                  
                          |   | 33 | || `TICKET_CHGPROP` || Modify [wiki:TracTickets ticket] properties || | 
                  
                          |   | 34 | || `TICKET_MODIFY` || Includes both `TICKET_APPEND` and `TICKET_CHGPROP`, and in addition allows resolving [wiki:TracTickets tickets] || | 
                  
                          |   | 35 | || `TICKET_ADMIN` || All `TICKET_*` permissions, plus the deletion of ticket attachments. || | 
                  
                          |   | 36 |  | 
                  
                          |   | 37 | === Roadmap === | 
                  
                          |   | 38 |  | 
                  
                          |   | 39 | || `MILESTONE_VIEW` || View a milestone || | 
                  
                          |   | 40 | || `MILESTONE_CREATE` || Create a new milestone || | 
                  
                          |   | 41 | || `MILESTONE_MODIFY` || Modify existing milestones || | 
                  
                          |   | 42 | || `MILESTONE_DELETE` || Delete milestones || | 
                  
                          |   | 43 | || `MILESTONE_ADMIN` || All `MILESTONE_*` permissions || | 
                  
                          |   | 44 | || `ROADMAP_VIEW` || View the [wiki:TracRoadmap roadmap] page || | 
                  
                          |   | 45 | || `ROADMAP_ADMIN` || Alias for `MILESTONE_ADMIN` (deprecated) || | 
                  
                          |   | 46 |  | 
                  
                          |   | 47 | === Reports === | 
                  
                          |   | 48 |  | 
                  
                          |   | 49 | || `REPORT_VIEW` || View [wiki:TracReports reports] || | 
                  
                          |   | 50 | || `REPORT_SQL_VIEW` || View the underlying SQL query of a [wiki:TracReports report] || | 
                  
                          |   | 51 | || `REPORT_CREATE` || Create new [wiki:TracReports reports] || | 
                  
                          |   | 52 | || `REPORT_MODIFY` || Modify existing [wiki:TracReports reports] || | 
                  
                          |   | 53 | || `REPORT_DELETE` || Delete [wiki:TracReports reports] || | 
                  
                          |   | 54 | || `REPORT_ADMIN` || All `REPORT_*` permissions || | 
                  
                          |   | 55 |  | 
                  
                          |   | 56 | === Wiki System === | 
                  
                          |   | 57 |  | 
                  
                          |   | 58 | || `WIKI_VIEW` || View existing [wiki:TracWiki wiki] pages || | 
                  
                          |   | 59 | || `WIKI_CREATE` || Create new [wiki:TracWiki wiki] pages || | 
                  
                          |   | 60 | || `WIKI_MODIFY` || Change [wiki:TracWiki wiki] pages || | 
                  
                          |   | 61 | || `WIKI_DELETE` || Delete [wiki:TracWiki wiki] pages and attachments || | 
                  
                          |   | 62 | || `WIKI_ADMIN` || All `WIKI_*` permissions, plus the management of ''readonly'' pages. || | 
                  
                          |   | 63 |  | 
                  
                          |   | 64 | === Others === | 
                  
                          |   | 65 |  | 
                  
                          |   | 66 | || `TIMELINE_VIEW` || View the [wiki:TracTimeline timeline] page || | 
                  
                          |   | 67 | || `SEARCH_VIEW` || View and execute [wiki:TracSearch search] queries || | 
                  
                          |   | 68 | || `CONFIG_VIEW` || Enables additional pages on ''About Trac'' that show the current configuration or the list of installed plugins || | 
                  
                          |   | 69 |  | 
                  
                          |   | 70 | == Granting Privileges == | 
                  
                          |   | 71 |  | 
                  
                          |   | 72 | Currently the only way to grant privileges to users is by using the `trac-admin` script. The current set of privileges can be listed with the following command: | 
                  
                          |   | 73 | {{{ | 
                  
                          |   | 74 |   $ trac-admin /path/to/projenv permission list | 
                  
                          |   | 75 | }}} | 
                  
                          |   | 76 |  | 
                  
                          |   | 77 | This command will allow the user ''bob'' to delete reports: | 
                  
                          |   | 78 | {{{ | 
                  
                          |   | 79 |   $ trac-admin /path/to/projenv permission add bob REPORT_DELETE | 
                  
                          |   | 80 | }}} | 
                  
                          |   | 81 |  | 
                  
                          |   | 82 | == Permission Groups == | 
                  
                          |   | 83 |  | 
                  
                          |   | 84 | Permissions can be grouped together to form roles such as ''developer'', ''admin'', etc. | 
                  
                          |   | 85 | {{{ | 
                  
                          |   | 86 |   $ trac-admin /path/to/projenv permission add developer WIKI_ADMIN | 
                  
                          |   | 87 |   $ trac-admin /path/to/projenv permission add developer REPORT_ADMIN | 
                  
                          |   | 88 |   $ trac-admin /path/to/projenv permission add developer TICKET_MODIFY | 
                  
                          |   | 89 |   $ trac-admin /path/to/projenv permission add bob developer | 
                  
                          |   | 90 |   $ trac-admin /path/to/projenv permission add john developer | 
                  
                          |   | 91 | }}} | 
                  
                          |   | 92 |  | 
                  
                          |   | 93 | == Default Permissions == | 
                  
                          |   | 94 |  | 
                  
                          |   | 95 | Granting privileges to the special user ''anonymous'' can be used to control what an anonymous user can do before they have logged in. | 
                  
                          |   | 96 |  | 
                  
                          |   | 97 | In the same way, privileges granted to the special user ''authenticated'' will apply to any authenticated (logged in) user. | 
                  
                          |   | 98 |  | 
                  
                          |   | 99 | ---- | 
                  
                          |   | 100 | See also: TracAdmin, TracGuide |