ڕێنمایی:حەقەکانی بەکارهێنەر
User rights are permissions (like the ability to edit pages or to block users) that can be assigned to different user groups. MediaWiki ships with a default set of user rights and user groups, but these can be customized. This page explains the default rights and groups and how to customize them.
For information about how to add and remove individual wiki users from groups, see Help:User rights and groups and Manual:Setting user groups in MediaWiki .
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 */;
$wgGroupPermissions
will be set in 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 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.
نموونەکان
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.
نموونەکان
This example will create an arbitrary "projectmember" group that can block users and delete pages, and whose edits are hidden by default in the recent changes log:
$wgGroupPermissions['projectmember']['bot'] = true;
$wgGroupPermissions['projectmember']['block'] = true;
$wgGroupPermissions['projectmember']['delete'] = true;
'random-group'
or 'random_group'
instead of 'random group'
. Moreover it is recommended to only use lowercase letters to create a group.In this example, you would probably also want to create these pages:
- MediaWiki:Group-projectmember (content:
Project members
) - MediaWiki:Group-projectmember-member (content:
Project member
) - MediaWiki:Grouppage-projectmember (content:
Project:Project Members
)
This will ensure that the group will be referred to as "Project members" throughout the interface, and a member will be referred to as a "Project member", and overviews will link the group name to Project:Project members.
This example disables write access (page editing and creation) by default, creates a group named "writer", 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['writer']['edit'] = true;
$wgGroupPermissions['writer']['createpage'] = true;
In this example, you would probably also want to create these pages:
- MediaWiki:Group-writer (content:
Writers
) - MediaWiki:Group-writer-member (content:
Writer
) - MediaWiki:Grouppage-writer (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>' ]. بۆ وردەکاری بنۆڕە خوارەوە.
نموونە
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.
unset( $wgGroupPermissions['bureaucrat'] );
unset( $wgRevokePermissions['bureaucrat'] );
unset( $wgAddGroups['bureaucrat'] );
unset( $wgRemoveGroups['bureaucrat'] );
unset( $wgGroupsAddToSelf['bureaucrat'] );
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );
This code will not work if any extension that modifies the default rights for the bureaucrat group, such as Extension:AntiSpoof , is installed.
More broadly, to disable a user group created by an extension, the above code needs to run after all extensions have been registered.
This used to be possible by registering an extension function in LocalSettings.php
:
$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) {
unset( $wgGroupPermissions['oversight'] );
unset( $wgGroupPermissions['flow-bot'] );
};
However, this no longer works reliably due to T275334.
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 registered user automatically is a 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.
ماف | ڕاڤە | بەکاربەری گرۆکان کە لە بنەڕەتدا ئەم مافەیان هەیە | وەشان |
---|---|---|---|
خوێندنەوە | |||
read | خوێندنەوەی پەڕەکان - when set to false, override for specific pages with $wgWhitelistRead
|
*, user | 1.5+ |
دەسکاریکردن | |||
applychangetags | Apply tags along with one's changes - requires the edit right
|
user | 1.25+ |
autocreateaccount | Automatically log in with an external user account - a more limited version of createaccount | — | 1.27+ |
createaccount | دروستکردنی ھەژماری بەکارھێنەریی نوێ - register / registration | *, sysop | 1.5+ |
createpage | دروستکردنی پەڕەکان (کە پەڕەی وتووێژ نین) - requires the edit right
|
*, user | 1.6+ |
createtalk | دروستکردنی پەڕەکانی وتووێژ - requires the edit right
|
*, user | 1.6+ |
delete-redirect | Delete single revision redirects (note that this is not needed if the group already has the delete right)
|
— | 1.36+ |
edit | دەستکاریی پەڕەکان | *, user | 1.5+ |
editsemiprotected | دەستکاریی پەڕە پارێزراوەکانی وەک «Allow only autoconfirmed users» - without cascading protection - requires the edit right | autoconfirmed, bot, sysop | 1.22+ |
editprotected | دەستکاریی پەڕە پارێزراوەکانی وەک «Allow only administrators» - without cascading protection - requires the edit right | sysop | 1.13+ |
minoredit | نیشانکردنی دەستکارییەکان وەک بچووک - requires the edit right
|
user | 1.6+ |
move | گواستنەوەی پەڕەکان - requires the edit right
|
user, sysop | 1.5+ |
move-categorypages | گواستنەوەی پەڕەکانی پۆل - requires the move right
|
user, sysop | 1.25+ |
move-rootuserpages | گواستنەوەی پەڕە بنەڕەتییەکانی بەکارھێنەر - requires the move right
|
user, sysop | 1.14+ |
move-subpages | گواستنەوەی پەڕەکان لەگەڵ ژێرپەڕەکانی - requires the move right
|
user, sysop | 1.13+ |
movefile | گواستنەوەی پەڕگەکان - requires the move right as well
|
user, sysop | 1.14+ |
reupload | بارکردنەوە لەسەر ئەو پەڕگانەی وا هەن - requires the upload right
|
user, sysop | 1.6+ |
reupload-own | بارکردنەوە لەسەر ئەو پەڕگانەی وا هەن و خۆی باری کردووە - requires the upload right (note that this is not needed if the group already has the reupload right)
|
— | 1.11+ |
reupload-shared | بارکردنی خۆماڵیی ئەو پەڕگانەی وا ھەن لەسەر خەزێنەی ھاوبەش - (if one is set up) with local files (requires the upload right)
|
user, sysop | 1.6+ |
sendemail | ناردنی ئیمەیل بۆ بەکارھێنەرانی تر | user | 1.16+ |
upload | بارکردنی پەڕگەکان - requires the edit right and $wgEnableUploads to be true
|
user, sysop | 1.5+ |
upload_by_url | بارکردنی پەڕگەکان لە ناونیشانێکی ئینتەرنێتی - requires the upload right (Prior to 1.20 it was given to sysops)
|
— | 1.8+ |
بەڕێوەبردن | |||
bigdelete | سڕینەوەی پەڕەکان بە مێژووی گەورە (as determined by $wgDeleteRevisionsLimit) - requires the delete right | sysop | 1.12+ |
block | بەکارھێنەرانی تر لە دەستکاریکردن بەربەست یان ئازاد بکە - Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address | sysop | 1.5+ |
blockemail | بەکارھێنەرێک لە ناردنی ئیمەیل بەربەست یان ئازاد بکە - allows preventing use of the Special:Emailuser interface when blocking - requires the block right | sysop | 1.11+ |
browsearchive | گەڕانی پەڕە سڕاوەکان - through Special:Undelete - requires the deletedhistory right | sysop | 1.13+ |
changetags | Add and remove arbitrary tags on individual revisions and log entries - currently unused by extensions | user | 1.25+ |
delete | سڕینەوەی پەڕەکان 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 | دیتنی بابەتە سڕاوەکانی مێژوو بەبێ دیتنی دەقە سڕاوەکەیان | sysop | 1.6+ |
deletedtext | دیتنی دەقە سڕاوەکان و گۆڕانکارییەکانی نێوان پێداچوونەوە سڕاوەکان | sysop | 1.16+ |
deletelogentry | سڕینەوە و ھێنانەوەی بابەتەکانی لۆگێکی دیاریکراو - allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries - requires the deleterevision right | suppress | 1.20+ |
deleterevision | سڕینەوە و هێنانەوەی پێداچوونەوەیەکی دیاریکراوی پەڕەکان - allows deleting/undeleting information (revision text, edit summary, user who made the edit) of specific revisions Split into deleterevision and deletelogentry in 1.20 | suppress | 1.6+ |
editcontentmodel | Edit the content model of a page - requires the edit right | user | 1.23.7+ |
editinterface | دەستکاریی ڕووکاری بەکارھێنەر - contains interface messages. For editing sitewide CSS/JSON/JS, there are now segregate rights, see below. - requires the edit right | sysop, interface-admin | 1.5+ |
editmyoptions | دەستکاریی ھەڵبژاردەکانی خۆی | * | 1.22+ |
editmyprivateinfo | دەستکاریی دراوە تایبەتییەکانی خۆی (وەک ناونیشانی ئیمەیل، ناوی ڕاستی) - also hides the "Change Password", but not other ways to change the password - requires the viewmyprivateinfo right
|
* | 1.22+ |
editmyusercss | دەستکاریی پەڕگەکانی CSSی بەکارھێنەریی خۆی - 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) - requires the edit right | user | 1.22+ |
editmyuserjs | دەستکاریی پەڕگەکانی جاڤاسکریپتی بەکارھێنەریی خۆی - 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) - requires the edit right | user | 1.22+ |
editmyuserjsredirect | Edit your own user JavaScript files that are redirects (note that this is not needed if the group already has the edituserjs right) - requires the edit right | — | 1.34+ |
editmyuserjson | دەستکاریی پەڕگەکانی JSONی بەکارھێنەریی خۆی (note that this is not needed if the group already has the edituserjson right) - requires the edit right | user | 1.31+ |
editmywatchlist | دەستکاریی پێرستی چاودێریی خۆی. تکایە لەبەر چاو بگرە ھەندێک کردەوە ھێشتا پەڕەکان زیاد دەکا تەنانەت بەبێ ئەم مافە. - requires the viewmywatchlist right
|
* | 1.22+ |
editsitecss | Edit sitewide CSS - requires the editinterface right | interface-admin | 1.32+ |
editsitejs | Edit sitewide JavaScript - requires the editinterface right | interface-admin | 1.32+ |
editsitejson | Edit sitewide JSON - requires the editinterface right | sysop, interface-admin | 1.32+ |
editusercss | دەستکاریی پەڕگەکانی CSSی بەکارھێنەرانی تر - requires the edit right | interface-admin | 1.16+ |
edituserjs | دەستکاریی پەڕگەکانی جاڤاسکریپتی بەکارھێنەرانی تر - requires the edit right | interface-admin | 1.16+ |
edituserjson | دەستکاریی پەڕگەکانی JSONی بەکارھێنەرانی تر - requires the edit right | sysop, interface-admin | 1.31+ |
hideuser | ناوێکی بەکارهێنەری بەربەست یان ئازاد بکە، لەبەر چاوی ھەمووان بیشارەوە یان پیشانی بدە - Only users with 1000 edits or less can be suppressed by default - requires the block right
Use |
suppress | 1.10+ |
markbotedits | نیشانکردنی دەستکارییە گەڕێنراوەکان وەک دەستکارییەکانی بۆت - چاوێ لە Manual:Rollback بکە - requires the rollback right | sysop | 1.12+ |
mergehistory | کردنەیەکی میژووی پەڕەکان - requires the edit right | sysop | 1.12+ |
pagelang | زمانی پەڕە بگۆڕە - $wgPageLanguageUseDB must be true | — | 1.24+ |
patrol | نیشانکردنی دەستکاریەکانی کەسانی تر وەک پاس دراو - $wgUseRCPatrol must be true | sysop | 1.5+ |
patrolmarks | دیتنی نیشانەکانی پاسدان لە دوایین گۆڕانکارییەکاندا | — | 1.16+ |
protect | گۆڕینی ڕێکخستنەکانی پاراستن و دەستکاریی پەڕە پارێزراوە تاڤگەیییەکان - requires the edit right | sysop | 1.5+ |
rollback | گەڕاندنەوەی خێرای دەستکاریەکانی دوایین بەکارھێنەر کە پەڕەیەکی دیاریکراوی دەستکاری کردووە - requires the edit right | sysop | 1.5+ |
suppressionlog | دیتنی لۆگە نھێنییەکان | suppress | 1.6+ |
suppressrevision | بینین، شاردنەوە و ھێنانەوەی پێداچوونەوە تایبەتەکانی پەڕەکان لە لایەن ھەر بەکارھێنەرێکەوە - Prior to 1.13 this right was named hiderevision - requires the deleterevision right | suppress | 1.6+ |
unblockself | کردنەوەی خۆیان - Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator | sysop | 1.17+ |
undelete | ھێنانەوەی پەڕەیەک - requires the deletedhistory right | sysop | 1.12+ |
userrights | دەستکاری مافەکانی هەموو بەکارهێنەران - 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 | دەستکاری مافەکانی بەکارهێنەریی بەکارهێنەران لە ویکییەکانی دیکەدا - requires the userrights right | — | 1.12+ |
viewmyprivateinfo | دیتنی دراوە تایبەتییەکانی خۆی (وەک ناونیشانی ئیمەیل، ناوی ڕاستی) | * | 1.22+ |
viewmywatchlist | دیتنی پێرستی چاودێریی خۆی | * | 1.22+ |
viewsuppressed | پێداچوونەوە شاراوەکانی ھەر بەکارھێنەرێک پیشانبدە - i.e. a more narrow alternative to "suppressrevision" (note that this is not needed if the group already has the suppressrevision right) | suppress | 1.24+ |
<span id="Administration">Administration | |||
autopatrol | پاسدانی خۆگەڕی دەستکارییەکانی خۆی - $wgUseRCPatrol must be true | bot, sysop | 1.9+ |
deletechangetags | سڕینەوەی tags لە بنکەی زانیاری - currently unused by extensions | sysop | 1.28+ |
import | ھاوردنی پەڕەکان لە ویکییەکانی تر - "transwiki" - requires the edit right | sysop | 1.5+ |
importupload | ھاوردنی پەڕەکان بە بارکردنی پەڕگە - This right was called 'importraw' in and before version 1.5 - requires the edit right | sysop | 1.5+ |
managechangetags | دروستکردن و (نا)چالاککردنی تاگەکان - currently unused by extensions | sysop | 1.25+ |
siteadmin | داخستن و کردنەوەی بنکەدراو - which blocks all interactions with the web site except viewing. (not available by default) | — | 1.5+ |
unwatchedpages | دیتنی پێرستێک لە پەڕە چاودێری نەکراوەکان - lists pages that no user has watchlisted | sysop | 1.6+ |
<span id="Technical">Technical | |||
apihighlimits | بەکارھێنانی سنوورەکانی بەرزتر بۆ داواکارییەکانی API | bot, sysop | 1.12+ |
autoconfirmed | کاریگەری وەرنەگرتن لە سنوورەکانی خێراییی ئایپی - used for the 'autoconfirmed' group, see the other table below for more information (note that this is not needed if the group already has the noratelimit right) | autoconfirmed, bot, sysop | 1.6+ |
bot | هەڵسوکەوت وەک پرۆسەیەکی خۆگەڕ - can optionally be viewed | bot | 1.5+ |
ipblock-exempt | لادان لە بەربەستنەکانی ئایپی، بەربەستنە خۆگەڕەکان و بەربەستنەکانی زنجیرە | sysop | 1.9+ |
nominornewtalk | دەستکاریی بچووکی پەڕەی وتووێژ جۆرێک نەبێتە ھۆی دروستبوونی پەیامی نوێ - requires the minoredit right | bot | 1.9+ |
noratelimit | کاریگەری وەرنەگرتن لە سنوورەکانی خێرایی - 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+ |
override-export-depth | هەناردنی لاپەڕەکان کە لاپەڕەکانی بەستەر پێدراو تا قووڵایی 5 لەخۆ بگرێت With this right, you can define the depth of linked pages at Special:Export. Otherwise, the value of $wgExportMaxLinkDepth , which is 0 by default, will be used. |
— | 1.15+ |
suppressredirect | دروست نەکردنی ڕەوانەکەر لە پەڕەی سەرچاوەوە کاتی گواستنەوەی پەڕەکان - requires the move right | bot, sysop | 1.12+ |
پێڕستی گرۆکان
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.
گرۆ | ڕاڤە | مافە بنەڕەتییەکان | وەشان |
---|---|---|---|
* | هەموو بەکارهێنەران (بە نەناسراوەکانیشەوە). | createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist | 1.5+ |
temp | Temporary user accounts (T330816) | Similar to * group
|
1.41+ |
user | هەژمارە تۆمارکراوەکان. Does not include temporary 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 | 1.13+ |
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 | 1.5+ |
sysop | Users who by default can delete and restore pages, block and unblock users, etc. | 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, 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 can change the rights of other users by default and therefore have full access of the entire wiki. | noratelimit, userrights | 1.5+ |
suppress | deletelogentry, deleterevision, hideuser, suppressionlog, suppressrevision, viewsuppressed | 1.13+ |
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.
مافە بنەڕەتییەکان
The default rights are defined in MainConfigSchema.php .
- Default values in HEAD version:
https://phabricator.wikimedia.org/diffusion/MW/browse/master/includes/MainConfigSchema.php
- The default values in the latest stable MediaWiki release, version 1.43, are available here:
https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_43/includes/MainConfigSchema.php
- Additional rights: you should be able to list all the permissions available on your wiki by running
PermissionManager::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 PermissionManager.php , $coreRights
(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 projectmember-powers right
$wgAvailableRights[] = 'projectmember-powers';
// add projectmember-powers to the projectmember-group
$wgGroupPermissions['projectmember']['projectmember-powers'] = true;
// add projectmember-powers to the 'basic' grant so we can use our projectmember powers over an API request
$wgGrantPermissions['basic']['projectmember-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