Changes between Version 1 and Version 2 of TracPermissions


Ignore:
Timestamp:
Apr 13, 2011, 9:04:35 PM (15 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • TracPermissions

    v1 v2  
    22[[TracGuideToc]]
    33
    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.
     4Trac uses a simple, case sensitive, permission system to control what users can and can't access.
     5
     6Permission privileges are managed using the [TracAdmin trac-admin] tool or (new in version 0.11) the ''General / Permissions'' panel in the ''Admin'' tab of the web interface.
     7
     8In addition to the default permission policy described in this page, it is possible to activate additional permission policies by enabling plugins and listing them in the `[trac] permission_policies` configuration entry in the TracIni. See TracFineGrainedPermissions for more details.
     9
     10Non-authenticated users accessing the system are assigned the name "anonymous". Assign permissions to the "anonymous" user to set privileges for anonymous/guest users. The parts of Trac that a user does not have the privileges for will not be displayed in the navigation.
     11In addition to these privileges, users can be granted additional individual rights in effect when authenticated and logged into the system. All logged in users belong to the virtual group "authenticated", which inherits permissions from "anonymous".
     12
     13== Graphical Admin Tab ==
     14''This feature is new in version 0.11.''
     15
     16To access this tab, a user must have `TRAC_ADMIN privileges`. This can be performed as follows (more on the trac-admin script below):
     17{{{
     18  $ trac-admin /path/to/projenv permission add bob TRAC_ADMIN
     19}}}
     20
     21Then, the user `bob` will be able to see the Admin tab, and can then access the permissions menu. This menu will allow you to perform all the following actions, but from the browser without requiring root access to the server (just the correct permissions for your user account).   '''Use at least one lowercase character in user names, as all-uppercase names are reserved for permissions.'''
     22
     23 1. [[Image(htdocs:../common/guide/admin.png)]]
     24 1. [[Image(htdocs:../common/guide/admin-permissions.png)]]
     25 1. [[Image(htdocs:../common/guide/admin-permissions-TICKET_ADMIN.png)]]
     26
     27An easy way to quickly secure a new Trac install is to run the above command on the anonymous user, install the [http://trac-hacks.org/wiki/AccountManagerPlugin AccountManagerPlugin], create a new admin account graphically and then remove the TRAC_ADMIN permission from the anonymous user.
    1428
    1529== Available Privileges ==
    1630
    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:
     31To enable all privileges for a user, use the `TRAC_ADMIN` permission. Having `TRAC_ADMIN` is like being `root` on a *NIX system.
     32
     33Otherwise, individual privileges can be assigned to users for the various different functional areas of Trac:
    2034
    2135=== Repository Browser ===
     
    3145|| `TICKET_CREATE` || Create new [wiki:TracTickets tickets] ||
    3246|| `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. ||
     47|| `TICKET_CHGPROP` || Modify [wiki:TracTickets ticket] properties (priority, assignment, keywords, etc.) with the following exceptions: edit description field, add/remove other users from cc field when logged in, and set email to pref ||
     48|| `TICKET_MODIFY` || Includes both `TICKET_APPEND` and `TICKET_CHGPROP`, and in addition allows resolving [wiki:TracTickets tickets]. Tickets can be assigned to users through a [TracTickets#Assign-toasDrop-DownList drop-down list] when the list of possible owners has been restricted. ||
     49|| `TICKET_EDIT_CC` || Full modify cc field ||
     50|| `TICKET_EDIT_DESCRIPTION` || Modify description field ||
     51|| `TICKET_EDIT_COMMENT` || Modify comments ||
     52|| `TICKET_ADMIN` || All `TICKET_*` permissions, plus the deletion of ticket attachments and modification of the reporter and description fields. It also allows managing ticket properties in the WebAdmin panel. ||
     53
     54Attention: the "view tickets" button appears with the `REPORT_VIEW` permission.
    3655
    3756=== Roadmap ===
    3857
    39 || `MILESTONE_VIEW` || View a milestone ||
     58|| `MILESTONE_VIEW` || View ||
    4059|| `MILESTONE_CREATE` || Create a new milestone ||
    4160|| `MILESTONE_MODIFY` || Modify existing milestones ||
    4261|| `MILESTONE_DELETE` || Delete milestones ||
    4362|| `MILESTONE_ADMIN` || All `MILESTONE_*` permissions ||
    44 || `ROADMAP_VIEW` || View the [wiki:TracRoadmap roadmap] page ||
    45 || `ROADMAP_ADMIN` || Alias for `MILESTONE_ADMIN` (deprecated) ||
     63|| `ROADMAP_VIEW` || View the [wiki:TracRoadmap roadmap] page ||
     64|| `ROADMAP_ADMIN` || ||
    4665
    4766=== Reports ===
    4867
    49 || `REPORT_VIEW` || View [wiki:TracReports reports] ||
     68|| `REPORT_VIEW` || View [wiki:TracReports reports] ||
    5069|| `REPORT_SQL_VIEW` || View the underlying SQL query of a [wiki:TracReports report] ||
    5170|| `REPORT_CREATE` || Create new [wiki:TracReports reports] ||
     
    5978|| `WIKI_CREATE` || Create new [wiki:TracWiki wiki] pages ||
    6079|| `WIKI_MODIFY` || Change [wiki:TracWiki wiki] pages ||
     80
    6181|| `WIKI_DELETE` || Delete [wiki:TracWiki wiki] pages and attachments ||
    6282|| `WIKI_ADMIN` || All `WIKI_*` permissions, plus the management of ''readonly'' pages. ||
     83
     84
     85
     86
     87
     88
    6389
    6490=== Others ===
     
    6793|| `SEARCH_VIEW` || View and execute [wiki:TracSearch search] queries ||
    6894|| `CONFIG_VIEW` || Enables additional pages on ''About Trac'' that show the current configuration or the list of installed plugins ||
     95
     96
     97
     98
     99
    69100
    70101== Granting Privileges ==
    71102
    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:
     103. The current set of privileges can be listed with the following command:
    73104{{{
    74105  $ trac-admin /path/to/projenv permission list
     
    80111}}}
    81112
     113
     114
     115
     116
     117
     118
     119
     120
     121
     122
    82123== Permission Groups ==
     124
     125
     126
     127
     128
     129
     130
     131
     132
    83133
    84134Permissions can be grouped together to form roles such as ''developer'', ''admin'', etc.
     
    91141}}}
    92142
     143
     144
     145
     146
     147
     148
     149
     150
     151
     152
     153
     154
     155
     156
     157
     158
     159
     160
     161
     162
     163
     164
     165
     166
     167
     168
     169
     170
     171
     172
     173
     174
     175
    93176== Default Permissions ==
    94177
    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 
     178By default on a new Trac installation, the `anonymous` user will have ''view'' access to everything in Trac, but will not be able to create or modify anything.
     179On the other hand, the `authenticated` users will have the permissions to ''create and modify tickets and wiki pages''.
     180
     181'''anonymous'''
     182{{{
     183 BROWSER_VIEW
     184 CHANGESET_VIEW
     185 FILE_VIEW
     186 LOG_VIEW
     187 MILESTONE_VIEW
     188 REPORT_SQL_VIEW
     189 REPORT_VIEW
     190 ROADMAP_VIEW
     191 SEARCH_VIEW
     192 TICKET_VIEW
     193 TIMELINE_VIEW
     194 WIKI_VIEW
     195}}}
     196
     197'''authenticated'''
     198{{{
     199 TICKET_CREATE
     200 TICKET_MODIFY
     201 WIKI_CREATE
     202 WIKI_MODIFY 
     203}}}
    99204----
    100 See also: TracAdmin, TracGuide
     205See also: TracAdmin, TracGuide