Edgewall Software

Changes between Version 101 and Version 102 of TracPermissions


Ignore:
Timestamp:
Mar 21, 2017, 12:10:00 AM (7 months ago)
Author:
Ryan J Ollos
Comment:

Minor edits.

Legend:

Unmodified
Added
Removed
Modified
  • TracPermissions

    v101 v102  
    44Trac uses a simple, case sensitive, permission system to control what users can and can't access.
    55
    6 Permission privileges are managed using the [TracAdmin trac-admin] tool or the ''General / Permissions'' panel in the ''Admin'' tab of the web interface.
    7 
    8 In 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 
    10 Non-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.
     6Permissions are managed using the [TracAdmin trac-admin] tool or 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 [TracIni#trac-permission_policies-option "[trac] permission_policies"]. 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 privilege for will not be displayed in the navigation.
    1111In 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".
    1212
     
    1818}}}
    1919
    20 Then, 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.'''
    21 
    22  1. [[Image(htdocs:../common/guide/admin.png)]]
    23  1. [[Image(htdocs:../common/guide/admin-permissions.png)]]
    24  1. [[Image(htdocs:../common/guide/admin-permissions-TICKET_ADMIN.png)]]
    25 
    26 An 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.
     20Then, the user `bob` will be able to see the Admin tab, and can access the permissions menu. This menu will allow you to perform all the following actions, but from the browser rather than requiring root access to the server. '''Use at least one lowercase character in user names, as all-uppercase names are reserved for permissions.'''
     21
     22[[Image(htdocs:../common/guide/admin.png)]]
     23
     24[[Image(htdocs:../common/guide/admin-permissions.png)]]
     25
     26[[Image(htdocs:../common/guide/admin-permissions-TICKET_ADMIN.png)]]
    2727
    2828From the graphical admin tab, users with `PERMISSION_GRANT` will only be allowed to grant permissions that they possess, and users with `PERMISSION_REVOKE` will only be allowed to revoke permissions that they possess. For example, a user cannot grant `MILESTONE_ADMIN` unless they have `PERMISSION_GRANT` and `MILESTONE_ADMIN`, and they cannot revoke `MILESTONE_ADMIN` unless they have `PERMISSION_REVOKE` and `MILESTONE_ADMIN`. `PERMISSION_ADMIN` just grants the user both `PERMISSION_GRANT` and `PERMISSION_REVOKE`, and users with `TRAC_ADMIN` can grant or revoke any permission.
     
    3737
    3838|| `BROWSER_VIEW` || View directory listings in the [TracBrowser repository browser] ||
    39 || `LOG_VIEW` || View revision logs of files and directories in the [TracBrowser repository browser] ||
    4039|| `FILE_VIEW` || View files in the [TracBrowser repository browser] ||
    4140|| `CHANGESET_VIEW` || View [TracChangeset repository check-ins] ||
     41|| `LOG_VIEW` || View revision logs of files and directories in the [TracBrowser repository browser] ||
    4242
    4343=== Ticket System
     
    4646|| `TICKET_CREATE` || Create new [TracTickets tickets] ||
    4747|| `TICKET_APPEND` || Add comments or attachments to [TracTickets tickets] ||
    48 || `TICKET_CHGPROP` || Modify [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 ||
    49 || `TICKET_MODIFY` || Includes both `TICKET_APPEND` and `TICKET_CHGPROP`, and in addition allows resolving [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. ||
     48|| `TICKET_CHGPROP` || Modify [TracTickets ticket] properties (priority, assignment, keywords, etc.) with the following exceptions: edit description field, add/remove other users from cc field when logged in ||
     49|| `TICKET_MODIFY` || Includes both `TICKET_APPEND` and `TICKET_CHGPROP`, and in addition allows resolving [TracTickets tickets] in the [TracWorkflow default workflow]. Tickets can be assigned to users through a [TracTickets#Assign-toasDrop-DownList drop-down list] when the list of possible owners has been restricted. ||
    5050|| `TICKET_EDIT_CC` || Full modify cc field ||
    5151|| `TICKET_EDIT_DESCRIPTION` || Modify description field ||
     
    5454|| `TICKET_ADMIN` || All `TICKET_*` permissions, deletion of ticket attachments and modification of the reporter field, which grants ability to create a ticket on behalf of another user (it will appear that another user created the ticket). It also allows managing ticket properties through the web administration module. ||
    5555
    56 Attention: the "view tickets" button appears with the `REPORT_VIEW` permission.
    57 
    5856=== Roadmap
    5957
    6058|| `MILESTONE_VIEW` || View milestones and assign tickets to milestones. ||
    61 || `MILESTONE_CREATE` || Create a new milestone ||
    62 || `MILESTONE_MODIFY` || Modify existing milestones ||
     59|| `MILESTONE_CREATE` || Create new milestones ||
     60|| `MILESTONE_MODIFY` || Modify milestones ||
    6361|| `MILESTONE_DELETE` || Delete milestones ||
    6462|| `MILESTONE_ADMIN` || All `MILESTONE_*` permissions ||
    65 || `ROADMAP_VIEW` || View the [TracRoadmap roadmap] page, is not (yet) the same as MILESTONE_VIEW, see [trac:#4292 #4292] ||
     63|| `ROADMAP_VIEW` || View the [TracRoadmap roadmap] page, which is not yet the same as MILESTONE_VIEW, see [trac:#4292 #4292] ||
    6664|| `ROADMAP_ADMIN` || to be removed with [trac:#3022 #3022], replaced by MILESTONE_ADMIN ||
    6765
    6866=== Reports
    6967
    70 || `REPORT_VIEW` || View [TracReports reports], i.e. the "view tickets" link. ||
    71 || `REPORT_SQL_VIEW` || View the underlying SQL query of a [TracReports report] ||
     68|| `REPORT_VIEW` || View [TracReports reports], i.e. the //View Tickets// link. ||
     69|| `REPORT_SQL_VIEW` || View the SQL query of a [TracReports report] ||
    7270|| `REPORT_CREATE` || Create new [TracReports reports] ||
    73 || `REPORT_MODIFY` || Modify existing [TracReports reports] ||
     71|| `REPORT_MODIFY` || Modify [TracReports reports] ||
    7472|| `REPORT_DELETE` || Delete [TracReports reports] ||
    7573|| `REPORT_ADMIN` || All `REPORT_*` permissions ||
     
    7775=== Wiki System
    7876
    79 || `WIKI_VIEW` || View existing [TracWiki wiki] pages ||
     77|| `WIKI_VIEW` || View [TracWiki wiki] pages ||
    8078|| `WIKI_CREATE` || Create new [TracWiki wiki] pages ||
    81 || `WIKI_MODIFY` || Change [TracWiki wiki] pages ||
     79|| `WIKI_MODIFY` || Modify [TracWiki wiki] pages ||
    8280|| `WIKI_RENAME` || Rename [TracWiki wiki] pages ||
    8381|| `WIKI_DELETE` || Delete [TracWiki wiki] pages and attachments ||
     
    9492|| `TIMELINE_VIEW` || View the [TracTimeline timeline] page ||
    9593|| `SEARCH_VIEW` || View and execute [TracSearch search] queries ||
    96 || `CONFIG_VIEW` || Enables additional pages on ''About Trac'' that show the current configuration or the list of installed plugins ||
     94|| `CONFIG_VIEW` || Enables additional sections on ''About Trac'' that show the current configuration and the list of installed plugins ||
    9795|| `EMAIL_VIEW` || Shows email addresses even if [TracIni#trac-section trac show_email_addresses] configuration option is false ||
    98 
    99 == Creating New Privileges
    100 
    101 To create custom permissions, for example to be used in a custom workflow, enable the optional [trac:ExtraPermissionsProvider tracopt.perm.config_perm_provider.ExtraPermissionsProvider] component in the "Plugins" admin panel, and add the desired permissions to the `[extra-permissions]` section in your [TracIni#extra-permissions-section trac.ini]. For more information, please refer to the documentation  on the [TracIni#extra-permissions-section TracIni] page after enabling the component.
    10296
    10397== Granting Privileges
     
    174168$ trac-admin /path/to/projenv permission remove '*' REPORT_ADMIN
    175169}}}
     170
     171== Creating New Privileges
     172
     173To create custom permissions, for example to be used in a custom workflow, enable the optional [trac:ExtraPermissionsProvider tracopt.perm.config_perm_provider.ExtraPermissionsProvider] component in the "Plugins" admin panel, and add the desired permissions to the `[extra-permissions]` section in your [TracIni#extra-permissions-section trac.ini]. For more information, please refer to the documentation  on the [TracIni#extra-permissions-section TracIni] page after enabling the component.
    176174
    177175== Default Permissions