Manual:Kullanıcı hakları

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:User rights and the translation is 1% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Tagalog • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎čeština • ‎русский • ‎српски / srpski • ‎українська • ‎עברית • ‎हिन्दी • ‎ไทย • ‎ဘာသာ မန် • ‎中文 • ‎日本語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어

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 */;
In a default installation $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 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 Kılavuz:$wgAddGroups and Manual:$wgRemoveGroups , you may need to customize those instead.

Examples

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;
The group name cannot contain spaces, so use '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 “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['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>']. 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 Sayfaları oku - when set to false, override for specific pages with $wgWhitelistRead
Uyarı Uyarı: Setting the user right "read" (allow viewing pages) to false will only protect wiki (article, talk, ...) pages, but uploaded files (images, files, docs... in the $wgUploadPath subdirectories) will always remain readable via direct access by default.
Use the information from Manual:Image authorization and img_auth.php pages when you have the need to restrict image views and file download access to only logged-in users.
*, user 1.5+
Editing
applychangetags Değişiklikleriyle beraber etiketleri uygula user 1.25+
autocreateaccount Otomatik olarak harici bir kullanıcı hesabı ile oturum aç - a more limited version of createaccount 1.27+
createaccount Yeni kullanıcı hesapları yarat - register / registration *, sysop 1.5+
createpage Sayfa oluştur (tartışma sayfası olmayan) - requires the edit right *, user 1.6+
createtalk Tartışma sayfaları oluştur - requires the edit right *, user 1.6+
edit Sayfaları düzenle *, user 1.5+
editsemiprotected "Allow only autoconfirmed users" olarak korunan sayfalarda değişiklik yap - without cascading protection autoconfirmed, bot, sysop 1.22+
editprotected "Allow only administrators" olarak korunan sayfalarda değişiklik yap - without cascading protection sysop 1.13+
minoredit Değişikliklerini küçük olarak kaydet user 1.6+
move Sayfaları taşı - requires the edit right user, sysop 1.5+
move-categorypages Kategori sayfaları taşı - requires the move right user, sysop 1.25+
move-rootuserpages Kök kullanıcı sayfalarını taşı - requires the move right user, sysop 1.14+
move-subpages Sayfaları altsayfalarıyla beraber taşı - requires the move right user, sysop 1.13+
movefile Dosyaları taşı - requires the move right and $wgAllowImageMoving to be true user, sysop 1.14+
reupload Mevcut dosyaların üstüne yaz - requires the upload right user, sysop 1.6+
reupload-own Kendisinin yüklediği bir dosyanın üzerine yaz - requires the upload right (note that this is not needed if the group already has the reupload right) 1.11+
reupload-shared Paylaşılan ortam deposundaki dosyaları yerel olarak geçersiz kıl - (if one is set up) with local files (requires the upload right) user, sysop 1.6+
sendemail Diğer kullanıcılara e-posta gönder user 1.16+
upload Dosya yükle - requires the edit right and $wgEnableUploads to be true user, sysop 1.5+
upload_by_url Bir URL adresinden dosya yükle - requires the upload right (Prior to 1.20 it was given to sysops) 1.8+
Management
bigdelete Uzun tarihli sayfaları sil (as determined by $wgDeleteRevisionsLimit ) sysop 1.12+
block Diğer kullanıcıların değişiklik yapmalarını engelle - Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address sysop 1.5+
blockemail Bir kullanıcının e-posta göndermesini engelle - allows preventing use of the Special:Emailuser interface when blocking - requires the block right sysop 1.11+
browsearchive Silinen sayfaları ara - through Special:Undelete sysop 1.13+
changetags Tekil sürümler ve günlük kayıtlarına rastgele etiket ekleme veya çıkarma - currently unused by extensions user 1.25+
delete Sayfaları sil 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 Silinmiş geçmiş girdilerini gör, ilgili metinleri olmadan sysop 1.6+
deletedtext Silinmiş metni ve silinmiş revizyonlar arasındaki değişiklikleri gör sysop
deletelogentry Belirli günlük girdilerini sil ve geri getir - allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries - requires the deleterevision right suppress 1.20+
deleterevision Sayfaların belirli revizyonlarını sil ve geri yükle - 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 Sayfanın içerik modelini düzenle user 1.23.7+
editinterface Kullanıcı arayüzünü değiştir - contains interface messages. For editing sitewide CSS/JSON/JS, there are now segregate rights, see below. sysop, interface-admin 1.5+
editmyoptions Tercihlerini düzenle * 1.22+
editmyprivateinfo Kendi özel bilgilerini değiştir (e-posta adresi, gerçek isim vb.) * 1.22+
editmyusercss Kendi kullanıcı CSS dosyaları düzenle - 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 Kendi kullanıcı JavaScript dosyalarını düzenle - 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 Kendi kullanıcı JSON dosyalarını düzenle (note that this is not needed if the group already has the edituserjson right) user 1.31+
editmywatchlist Kendi izleme listeni düzenle. Not, bazı eylemler bu yetki olmadan da sayfa ekleyebilir. * 1.22+
editsitecss Sitewide CSS düzenle interface-admin 1.32+
editsitejs Sitewide JavaScript'i düzenle interface-admin 1.32+
editsitejson Sitewide JSON'u düzenle sysop, interface-admin 1.32+
editusercss Diğer kullanıcıların CSS sayfalarında değişiklik yap interface-admin 1.16+
edituserjs Diğer kullanıcıların JS sayfalarında değişiklik yap interface-admin 1.16+
edituserjson Diğer kullanıcıların JSON sayfalarında değişiklik yap sysop, interface-admin 1.31+
hideuser Herkesden gizleyerek bir kullanıcı adını engelle - Only users with 1000 edits or less can be suppressed by default. Use $wgHideUserContribLimit to disable. suppress 1.10+
markbotedits Geri döndürülen değişiklikleri, bot değişiklikleri olarak işaretle - see Manual:Administrators#Rollback sysop 1.12+
mergehistory Sayfalarının tarihlerini birleştir sysop 1.12+
pagelang Sayfanın dilini değiştir - $wgPageLanguageUseDB must be true 1.24+
patrol Diğerlerinin değişikliklerini kontrol edilmiş olarak işaretle - $wgUseRCPatrol must be true sysop 1.5+
patrolmarks Son değişiklikler gözleme işaretlerini gör 1.16+
protect Koruma düzeylerini değiştir ve kademeli korumalı sayfaları düzenle sysop 1.5+
rollback Belirli bir sayfayı değiştiren son kullanıcının değişikliklerini hızlıca geri döndür sysop 1.5+
suppressionlog Özel günlükleri gör suppress 1.6+
suppressrevision Hizmetlilerden revizyon gizle ve geri getir - Prior to 1.13 this right was named hiderevision suppress 1.6+
unblockself Kendi engellemesini kaldır - Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator sysop 1.17+
undelete Bir sayfanın silinmesini geri al - requires the deletedhistory right sysop 1.12+
userrights Tüm kullanıcı haklarını değiştir - 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 Diğer vikilerdeki kullanıcıların kullanıcı haklarını değiştir 1.12+
viewmyprivateinfo Kendi özel bilgilerini görüntüle (e-posta adresi, gerçek isim vb.) * 1.22+
viewmywatchlist Kendi izleme listeni gör * 1.22+
viewsuppressed Herhangi bir kullanıcıdan saklanan sürümleri göster - 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+
Administration
autopatrol Kişinin kendi değişikliklerinin otomatikman denetlendi olarak işaretlenmiş olması - $wgUseRCPatrol must be true bot, sysop 1.9+
deletechangetags Veritabanından etiketleri sil - currently unused by extensions sysop 1.28+
import Diğer vikilerden sayfaları içeri aktar - “transwiki” sysop 1.5+
importupload Bir dosya yüklemesinden sayfaları içeri aktar - This right was called 'importraw' in and before version 1.5 sysop 1.5+
managechangetags Etiket oluşturma ve (de)aktive etme - currently unused by extensions sysop 1.25+
siteadmin Veritabanını kilitle ve kilidi aç - which blocks all interactions with the web site except viewing. (not available by default) 1.5+
unwatchedpages İzlenmeyen sayfaların bir listesini gör - lists pages that no user has watchlisted sysop 1.6+
Technical
apihighlimits API sorgularında yüksek sınır kullan bot, sysop 1.12+
autoconfirmed IP-tabanlı hız limitleri etkilenme - used for the 'autoconfirmed' group, see the other table below for more information autoconfirmed, bot, sysop 1.6+
bot Otomatik bir işlem gibi muamele gör - can optionally be viewed bot 1.5+
ipblock-exempt IP engellemelerini atla, otomatik engelle ve aralık engellemeleri sysop 1.9+
nominornewtalk Kullanıcı tartışma sayfalarında yaptığı küçük değişiklikler kullanıcıya yeni mesaj bildirimiyle bildirilmez - requires the minor edit right bot 1.9+
noratelimit Derecelendirme sınırlamalarından etkilenme - 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 Sayfaları, derinlik 5'e kadar bağlantılı sayfalarla beraber, dışa aktar
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.
?
purge Bir sayfa için site önbelleğini temizle - URL parameter "&action=purge" user 1.10+
suppressredirect Bir sayfayı taşırken eski isimden yönlendirme oluşturma bot, sysop 1.12+
writeapi Yazma API'sini kullan *, user, bot 1.13+
Although these permissions all control separate things, sometimes to perform certain actions you need multiple permissions. For example allowing people to edit but not read pages doesn't make sense, since in order to edit a page you must first be able to read it (Assuming no pages are whitelisted). Allowing uploads but not editing does not make sense, since in order to upload an image you must implicitly create an image description page, etc.

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 .

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 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