Manual:User rights/tl
User rights are specific access and ability permissions that can be assigned to customizable user groups. Groups can then be assigned to (or removed from) users through the Special:UserRights special page. See Help:User rights and groups .
Access to this interface is itself governed by the userrights
right, so only users in the Mga burokrata group can do it (in a default set-up).
See Manual:Setting user groups in MediaWiki for information about managing and the assignment of user groups.
Contents
Changing group permissions
A default MediaWiki installation assigns certain rights to default groups (see below). You can change the default rights by editing the $wgGroupPermissions array in LocalSettings.php with the syntax.
$wgGroupPermissions['group']['right'] = true /* or false */;
includes/DefaultSettings.php
, but it is not present in LocalSettings.php
. You will then need to add it in that file.If a member has multiple groups, they get all of the permissions from each of the groups they are in.
All users, including anonymous users, are in the '*'
group; all registered users are in the 'user'
group.
In addition to the default groups, you can arbitrarily create new groups using the same array.
Examples
This example will disable viewing of all pages not listed in $wgWhitelistRead , then re-enable for registered users only:
$wgGroupPermissions['*']['read'] = false;
# The following line is not actually necessary, since it's in the defaults. Setting '*' to false doesn't disable rights for groups that have the right separately set to true!
$wgGroupPermissions['user']['read'] = true;
This example will disable editing of all pages, then re-enable for users with confirmed email addresses only:
# Disable for everyone.
$wgGroupPermissions['*']['edit'] = false;
# Disable for users, too: by default 'user' is allowed to edit, even if '*' is not.
$wgGroupPermissions['user']['edit'] = false;
# Make it so users with confirmed email addresses are in the group.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Hide group from user list.
$wgImplicitGroups[] = 'emailconfirmed';
# Finally, set it to true for the desired group.
$wgGroupPermissions['emailconfirmed']['edit'] = true;
Creating a new group and assigning permissions to it
You can create new user groups by defining permissions for the according group name in $wgGroupPermissions['<group-name>']
where <group-name> is the actual name of the group.
Additionally to assigning permissions, you should create these three wiki pages with fitting content:
- MediaWiki:Group-<group-name> (content:
Name of the group
) - MediaWiki:Group-<group-name>-member (content:
Name of a member of the group
) - MediaWiki:Grouppage-<group-name> (content:
Name of the group page
)
By default, bureaucrats can add users to, or remove them from, any group. However, if you are using Manual:$wgAddGroups and Manual:$wgRemoveGroups , you may need to customize those instead.
Examples
This example will create an arbitrary “ninja” group that can block users and delete pages, and whose edits are hidden by default in the recent changes log:
$wgGroupPermissions['ninja']['bot'] = true;
$wgGroupPermissions['ninja']['block'] = true;
$wgGroupPermissions['ninja']['delete'] = true;
- Note: the group name cannot contain spaces, so use
'random-group'
or'random_group'
instead of'random group'
In this example, you would probably also want to create these pages:
- MediaWiki:Group-ninja (content:
Ninjas
) - MediaWiki:Group-ninja-member (content:
ninja
) - MediaWiki:Grouppage-ninja (content:
Project:Ninjas
)
This will ensure that the group will be referred to as “Ninjas” throughout the interface, and a member will be referred to as a “ninja”, and overviews will link the group name to Project:Ninjas.
This example disables write access (page editing and creation) by default, creates a group named “Write”, and grants it write access. Users can be manually added to this group via Special:UserRights:
$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['createpage'] = false;
$wgGroupPermissions['Write']['edit'] = true;
$wgGroupPermissions['Write']['createpage'] = true;
In this example, you would probably also want to create these pages:
- MediaWiki:Group-Write (content:
Writers
) - MediaWiki:Group-Write-member (content:
Writer
) - MediaWiki:Grouppage-Write (content:
Project:Write
)
Removing predefined groups
MediaWiki out of the box comes with a number of predefined groups.
Most of these groups can be removed by unsetting the according array keys, among them $wgGroupPermissions['<group-name>']
.
For details see below.
Example
This example will eliminate the bureaucrat group entirely.
It is necessary to ensure that all six of these variables are unset for any group that one wishes to remove from being listed at Special:ListGroupRights; however, merely unsetting $wgGroupPermissions will suffice to remove it from Special:UserRights.
This code should be placed after any require_once
lines that add extensions such as Extension:Renameuser containing code that gives bureaucrats group permissions by default.
unset( $wgGroupPermissions['bureaucrat'] );
unset( $wgRevokePermissions['bureaucrat'] );
unset( $wgAddGroups['bureaucrat'] );
unset( $wgRemoveGroups['bureaucrat'] );
unset( $wgGroupsAddToSelf['bureaucrat'] );
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );
In some extensions (Flow, Semantic MediaWiki, etc.), rights are added during extension registration or in a registration function. In this case, it could be necessary to use a registration function in LocalSettings.php to remove some predefined user groups:
$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) {
unset( $wgGroupPermissions['oversight'] );
unset( $wgGroupPermissions['flow-bot'] );
};
Note on the group called “user”
With the above mechanism, you can remove the groups sysop, bureaucrat and bot, which - if used - can be assigned through the usual user permission system.
However, it is currently impossible to remove the user
group.
This group is not assigned through the usual permission system.
Instead, every logged in user automatically is member of that group.
This is hardcoded in MediaWiki and currently cannot be changed easily.
List of permissions
The following user rights are available in the latest version of MediaWiki. If you are using an older version, look at “Special:Version” on your wiki and see if your version is covered in the “Versions” column.
Right | Description | User groups that have this right by default | Versions | ||
---|---|---|---|---|---|
Reading | |||||
read | Basahin ang mga pahina - when set to false, override for specific pages with $wgWhitelistRead
|
*, user | 1.5+ | ||
Editing | |||||
applychangetags | Apply tags along with one's changes | user | 1.25+ | ||
autocreateaccount | Automatically log in with an external user account - a more limited version of createaccount | — | 1.27+ | ||
createaccount | Lumikha ng bagong mga account ng tagagamit - register / registration | *, sysop | 1.5+ | ||
createpage | Lumikha ng mga pahina (na hindi mga pahina ng usapan) - requires the edit right | *, user | 1.6+ | ||
createtalk | Lumikha ng mga pahina ng usapan - requires the edit right | *, user | 1.6+ | ||
edit | Baguhin ang mga pahina | *, user | 1.5+ | ||
editsemiprotected | Edit pages protected as "Allow only autoconfirmed users" - without cascading protection | autoconfirmed, bot, sysop | 1.22+ | ||
editprotected | Baguhin ang mga pahinang nakasanggalang (walang baita-baitang na panananggalang) - without cascading protection | sysop | 1.13+ | ||
minoredit | Itatak ang mga pagbabago bilang maliit | user | 1.6+ | ||
move | Ilipat ang mga pahina - requires the edit right | user, sysop | 1.5+ | ||
move-categorypages | Move category pages - requires the move right | user, sysop | 1.25+ | ||
move-rootuserpages | Ilipat ang pinagugatang mga pahina ng tagagamit - requires the move right | user, sysop | 1.14+ | ||
move-subpages | Ilipat ang mga pahina kasama ang pahinang nasa ilalim nito - requires the move right | user, sysop | 1.13+ | ||
movefile | Ilipat ang mga file - requires the move right and $wgAllowImageMoving to be true | user, sysop | 1.14+ | ||
reupload | Patungan ang mayroon nang mga talaksan - requires the upload right | user, sysop | 1.6+ | ||
reupload-own | Patungan ang talaksang kinarga ng sarili - requires the upload right (note that this is not needed if the group already has the reupload right) | — | 1.11+ | ||
reupload-shared | Patungan ang mga talaksan sa binabahaging repositoryo midya sa lokal - (if one is set up) with local files (requires the upload right) | user, sysop | 1.6+ | ||
sendemail | Magpadala ng e-liham sa ibang mga tagagamit | user | 1.16+ | ||
upload | Mag-upload ng mga file - requires the edit right and $wgEnableUploads to be true | user, sysop | 1.5+ | ||
upload_by_url | Magkarga ng isang talaksan mula sa isang adres na URL - requires the upload right (Prior to 1.20 it was given to sysops) | — | 1.8+ | ||
Management | |||||
bigdelete | Burahin ang mga pahinang may malaking mga kasaysayan (as determined by $wgDeleteRevisionsLimit ) | sysop | 1.12+ | ||
block | Harangin sa paggawa ng pagbabago ang ibang mga tagagamit - Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address | sysop | 1.5+ | ||
blockemail | Harangin sa pagpapadala ng e-liham ang isang tagagamit - allows preventing use of the Special:Emailuser interface when blocking | sysop | 1.11+ | ||
browsearchive | Hanapin ang mga binurang mga pahina - through Special:Undelete | sysop | 1.13+ | ||
changetags | Add and remove arbitrary tags on individual revisions and log entries - currently unused by extensions | user | 1.25+ | ||
delete | Burahin ang mga pahina 1.5–1.11: allows the deletion or undeletion of pages. 1.12+: allows the deletion of pages. For undeletions, there is now the 'undelete' right, see below |
sysop | 1.5+ | ||
deletedhistory | Tingnan ang mga binurang pinasok na kasaysayan, na wala ang kanilang nakakabit na teksto | sysop | 1.6+ | ||
deletedtext | Tingnan ang naburang teksto at mga pagbabago sa pagitan ng dalawang mga rebisyon | sysop | |||
deletelogentry | Burahin at huwag burahin ang partikular na mga lahok sa talaan - allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries (not available by default) | — | 1.20+ | ||
deleterevision | Burahin at tanggalin sa pagkabura ang isang partikular na mga pagbabago ng mga pahina - allows deleting/undeleting information (revision text, edit summary, user who made the edit) of specific revisions Split into deleterevision and deletelogentry in 1.20 (not available by default) | — | 1.6+ | ||
editcontentmodel | Edit the content model of a page | user | 1.23.7+ | ||
editinterface | Baguhin ang ugnayang-hangganan ng tagagamit - contains interface messages. For editing sitewide CSS/JSON/JS, there are now segregate rights, see below. | sysop, interface-admin | 1.5+ | ||
editmyoptions | Edit your own preferences | * | 1.22+ | ||
editmyprivateinfo | Edit your own private data (e.g. email address, real name) | * | 1.22+ | ||
editmyusercss | Edit your own user CSS files - prior to 1.31 it was assigned to everyone (i.e. "*") (note that this is not needed if the group already has the editusercss right) | user | 1.22+ | ||
editmyuserjs | Edit your own user JavaScript files - prior to 1.31 it was assigned to everyone (i.e. "*") (note that this is not needed if the group already has the edituserjs right) | user | 1.22+ | ||
editmyuserjson | Edit your own user JSON files (note that this is not needed if the group already has the edituserjson right) | user | 1.31+ | ||
editmywatchlist | Edit your own watchlist. Note some actions will still add pages even without this right. | * | 1.22+ | ||
editsitecss | Edit sitewide CSS | interface-admin | 1.32+ | ||
editsitejs | Edit sitewide JavaScript | interface-admin | 1.32+ | ||
editsitejson | Edit sitewide JSON | interface-admin | 1.32+ | ||
editusercss | Baguhin ang mga talaksang CSS ng ibang mga tagagamit | interface-admin | 1.16+ | ||
edituserjs | Baguhin ang mga talaksang JS ng ibang mga tagagamit | interface-admin | 1.16+ | ||
edituserjson | Edit other users' JSON files | interface-admin | 1.31+ | ||
hideuser | Harangin ang isang tagagamit, na itinatago mula sa publiko - (not available by default)
Only users with 1000 edits or less can be suppressed by default. Use |
— | 1.10+ | ||
markbotedits | Itatak ang mga binalik na mga pagbabago bilang pagbabagong bot - see Manual:Administrators#Rollback | sysop | 1.12+ | ||
mergehistory | Pagsanibin ang kasaysayan ng mga pahina | sysop | 1.12+ | ||
pagelang | Change page language - $wgPageLanguageUseDB must be true | — | 1.24+ | ||
patrol | Tatakan bilang napatrolya ang mga pagbabago ng iba - $wgUseRCPatrol must be true | sysop | 1.5+ | ||
patrolmarks | Tingnan ang mga kamakailang pagbabagong natatakan bilang napatrolya | — | 1.16+ | ||
protect | Baguhin ang mga antas ng panananggalang at baguhin ang mga pahinang nakasanggalang | sysop | 1.5+ | ||
rollback | Mabilisang pagulungin pabalik sa dati ang mga pagbabago ng huling tagagamit na nagbago ng isang partikular na pahina | sysop | 1.5+ | ||
suppressionlog | Tingnan ang pansariling mga pagtatala. | — | 1.6+ | ||
suppressrevision | Suriing muli at ibalik ang mga pagbabagong itinago mula sa mga Sysop. - Prior to 1.13 this right was named hiderevision (not available by default) | — | 1.6+ | ||
unblockself | Tanggalin ang pagkakaharang ng kanilang mga sarili - Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator | sysop | 1.17+ | ||
undelete | Buhayin muli ang isang pahina - requires deletedhistory right | sysop | 1.12+ | ||
userrights | Baguhin ang lahat ng karapatan ng tagagamit - allows the assignment or removal of all* groups to any user. *With $wgAddGroups and $wgRemoveGroups you can set the possibility to add/remove certain groups instead of all |
bureaucrat | 1.5+ | ||
userrights-interwiki | Baguhin ang karapatan ng mga tagagamit na nasa ibang mga wiki | — | 1.12+ | ||
viewmyprivateinfo | View your own private data (e.g. email address, real name) | * | 1.22+ | ||
viewmywatchlist | View your own watchlist | * | 1.22+ | ||
viewsuppressed | View revisions hidden from any user - i.e. a more narrow alternative to "suppressrevision" (note that this is not needed if the group already has the suppressrevision right) | — | 1.24+ | ||
Administration | |||||
autopatrol | Kusang tatakan bilang napatrolya ang sariling mga pagbabago - $wgUseRCPatrol must be true | bot, sysop | 1.9+ | ||
deletechangetags | Delete tags from the database - currently unused by extensions | sysop | 1.28+ | ||
import | Umangkat ng mga pahina mula sa ibang mga wiki - “transwiki” | sysop | 1.5+ | ||
importupload | Umangkat ng mga pahina mula sa isang talaksang ikinarga - This right was called 'importraw' in and before version 1.5 | sysop | 1.5+ | ||
managechangetags | Create and (de)activate tags - currently unused by extensions | sysop | 1.25+ | ||
siteadmin | Ikandado at alisin ang pagkakakandado ng kalipunan ng dato - which blocks all interactions with the web site except viewing. (not available by default) | — | 1.5+ | ||
unwatchedpages | Tingnan ang isang talaan ng mga pahinang hindi binabantayan - lists pages that no user has watchlisted | sysop | 1.6+ | ||
Technical | |||||
apihighlimits | Gumamit ng mga matataas ng hangganan sa mga pagtatanong sa API | bot, sysop | 1.12+ | ||
autoconfirmed | Baguhin ang medyo-nakaprotektang mga pahina - used for the 'autoconfirmed' group, see the other table below for more information | autoconfirmed, bot, sysop | 1.6+ | ||
bot | Maging isang awtomatikong proseso - can optionally be viewed | bot | 1.5+ | ||
ipblock-exempt | Laktawan ang mga pagharang/paghadlang na pang-IP, kusang pagharang/paghadlang at mga saklaw ng pagharang/paghadlang | sysop | 1.9+ | ||
nominornewtalk | Walang maliit na pagbabago sa mga pahina ng usapan na pasimula ang bagong paglitaw ng mga mensahe - requires minor edit right | bot | 1.9+ | ||
noratelimit | Hindi maaapektuhan ng antas ng mga hangganan - not affected by rate limits (prior to the introduction of this right, the configuration variable $wgRateLimitsExcludedGroups was used for this purpose) | sysop, bureaucrat | 1.13+ | ||
purge | Sariwain ang baunan ng sayt para sa isang pahina na walang kumpirmasyon - URL parameter "&action=purge "
|
user | 1.10+ | ||
suppressredirect | Hindi nilikha sa isang pagkarga mula sa lumang pangalan kapag naglipat ng isang pahina | bot, sysop | 1.12+ | ||
writeapi | Gamit ng sinulat na API | *, user, bot | 1.13+ |
List of groups
The following groups are available in the latest version of MediaWiki. If you are using an older version then some of these may not be implemented.
Group | Description | Default rights | Versions |
---|---|---|---|
* | all users (including anonymous). | createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi | 1.5+ |
user | registered accounts. | applychangetags, changetags, createpage, createtalk, edit, editcontentmodel, editmyusercss, editmyuserjs, editmyuserjson, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, purge, read, reupload, reupload-shared, sendemail, upload, writeapi | |
autoconfirmed | registered accounts at least as old as $wgAutoConfirmAge and having at least as many edits as $wgAutoConfirmCount . | autoconfirmed, editsemiprotected | 1.6+ |
bot | accounts with the bot right (intended for automated scripts). | autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi | 1.5+ |
sysop | users who by default can delete and restore pages, block and unblock users, et cetera. | apihighlimits, autoconfirmed, autopatrol, bigdelete, block, blockemail, browsearchive, createaccount, delete, deletedhistory, deletedtext, editinterface, editprotected, editsemiprotected, editsitejson, edituserjson, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, move, move-categorypages, move-rootuserpages, move-subpages, movefile, noratelimit, patrol, protect, proxyunbannable, reupload, reupload-shared, rollback, suppressredirect, unblockself, undelete, unwatchedpages, upload | 1.5+ |
interface-admin | users who can edit sitewide CSS/JS. | editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson | 1.32+ |
bureaucrat | users who by default can change other users' rights. | noratelimit, userrights | 1.5+ |
From MW 1.12, you can create your own groups into which users are automatically promoted (as with autoconfirmed and emailconfirmed) using $wgAutopromote . You can even create any custom group by just assigning rights to them.
Default rights
The default rights are defined in DefaultSettings.php .
- Default values in HEAD version: https://phabricator.wikimedia.org/diffusion/MW/browse/master/includes/DefaultSettings.php
- The default values in the latest stable MediaWiki release, version 1.32, are available here: https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_32/includes/DefaultSettings.php
- Additional rights: you should be able to list all the permissions available on your wiki by running
User::getAllRights()
.
Adding new rights
Information for coders only follows.
If you're adding a new right in core, for instance to control a new special page, you are required to add it to the list of available rights in User.php , $mCoreRights
(example).
If you're doing so in an extension , you instead need to use $wgAvailableRights .
You probably also want to assign it to some user group by editing $wgGroupPermissions described above.
If you want this right to be accessible to external applications by OAuth or by bot passwords, then you will need to add it to a grant by editing $wgGrantPermissions .
// create ninja-powers right
$wgAvailableRights[] = 'ninja-powers';
//add ninja-powers to the ninja-group
$wgGroupPermissions['ninja']['ninja-powers'] = true;
//add ninja-powers to the 'basic' grant so we can use our ninja powers over an API request
$wgGrantPermissions['basic']['ninja-powers'] = true;
You also need to add right-[name]
and action-[name]
interface messages to /languages/i18n/en.json (with documentation in qqq.json).
The right-* messages can be seen on Special:ListGroupRights and the action-* messages are used in a sentence like "You do not have permission to ...".
See also
- Special:ListGroupRights – links to this help page and might contain not yet documented rights
- Help:User rights and groups – help page describing use of the Special:Userrights interface (for bureaucrats)
- Manual:Setting user groups in MediaWiki – information about managing and the assignment of user groups.
- Manual:$wgNamespaceProtection
- Manual:$wgAutopromote
- Manual:$wgAddGroups , Manual:$wgRemoveGroups
- Manual:Preventing access – examples
- Manual:Establishing a hierarchy of bureaucrats
- Category:User rights extensions – Many extensions relating to user rights
|