Podręcznik:Uprawnienia użytkowników
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 Pomoc: Prawa i grupy użytkownika and Podręcznik:Przydzielanie użytkownika do grup w MediaWiki .
Zmienianie uprawnień grup
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.
Przykłady
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;
Tworzenie nowej grupy i przypisanie do niej uprawnień
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 Podręcznik:$wgAddGroups and Podręcznik:$wgRemoveGroups , you may need to customize those instead.
Przykłady
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
)
Usuwanie predefiniowanych grup
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.
Przykład
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 a member of that group.
This is hardcoded in MediaWiki and currently cannot be changed easily.
Lista uprawnień
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.
Uprawnienie | Opis | User groups that have this right by default | Wersje |
---|---|---|---|
Czytanie | |||
read | Czytanie treści stron - when set to false, override for specific pages with $wgWhitelistRead
|
*, user | 1.5+ |
Edytowanie | |||
applychangetags | Wprowadzanie znaczników wraz z własnymi zmianami - wymagane uprawnienie edit | user | 1.25+ |
autocreateaccount | Automatyczne logowanie za pomocą zewnętrznego konta użytkownika - a more limited version of createaccount | — | 1.27+ |
createaccount | Tworzenie nowych kont użytkowników - register / registration | *, sysop | 1.5+ |
createpage | Tworzenie stron (niebędących stronami dyskusji) - requires the edit right | *, user | 1.6+ |
createtalk | Tworzenie stron dyskusji - requires the edit right | *, user | 1.6+ |
delete-redirect | Usuwanie przekierowań bez historii zmian (note that this is not needed if the group already has the delete right) | — | 1.36+ |
edit | Edycja stron | *, user | 1.5+ |
editsemiprotected | Edycja stron zabezpieczonych na poziomie „Allow only autoconfirmed users” - without cascading protection - requires the edit right | autoconfirmed, bot, sysop | 1.22+ |
editprotected | Edycja stron zabezpieczonych na poziomie „Allow only administrators” - without cascading protection - requires the edit right | sysop | 1.13+ |
minoredit | Oznaczanie edycji jako drobnych - wymagane uprawnienie edit | user | 1.6+ |
move | Przenoszenie stron - requires the edit right | user, sysop | 1.5+ |
move-categorypages | Przenoszenie stron kategorii - requires the move right | user, sysop | 1.25+ |
move-rootuserpages | Przenoszenie głównych stron użytkowników - requires the move right | user, sysop | 1.14+ |
move-subpages | Przenoszenie stron razem z ich podstronami - requires the move right | user, sysop | 1.13+ |
movefile | Przenoszenie plików - requires the move right and $wgAllowImageMoving to be true | user, sysop | 1.14+ |
reupload | Nadpisywanie istniejącego pliku - requires the upload right | user, sysop | 1.6+ |
reupload-own | Nadpisywanie wcześniej przesłanego pliku - requires the upload right (note that this is not needed if the group already has the reupload right) | — | 1.11+ |
reupload-shared | Lokalne nadpisywanie pliku istniejącego w repozytorium mediów - (if one is set up) with local files (requires the upload right) | user, sysop | 1.6+ |
sendemail | Wysyłanie e‐maili do innych użytkowników | user | 1.16+ |
upload | Przesyłanie plików na serwer - requires the edit right and $wgEnableUploads to be true | user, sysop | 1.5+ |
upload_by_url | Przesyłanie plików z adresu URL - requires the upload right (Prior to 1.20 it was given to sysops) | — | 1.8+ |
Zarządzanie | |||
bigdelete | Usuwanie stron z długą historią edycji (as determined by $wgDeleteRevisionsLimit) - requires the delete right | sysop | 1.12+ |
block | Blokowanie i odblokowywanie użytkownikom możliwości edycji - Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address | sysop | 1.5+ |
blockemail | Blokowanie lub odblokowywanie użytkownikom możliwości wysyłania wiadomości - allows preventing use of the Special:Emailuser interface when blocking - requires the block right | sysop | 1.11+ |
browsearchive | Przeszukiwanie usuniętych stron - through Special:Undelete - requires the deletedhistory right | sysop | 1.13+ |
changetags | Dodawanie i usuwanie dowolnych znaczników z poszczególnych wersji i wpisów w rejestrze - currently unused by extensions | user | 1.25+ |
delete | Usuwanie stron 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 | Podgląd usuniętych wersji bez przypisanego im tekstu | sysop | 1.6+ |
deletedtext | Podgląd usuniętego tekstu i zmian pomiędzy usuniętymi wersjami | sysop | |
deletelogentry | Usuwanie i przywracanie wpisów rejestru - allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries - requires the deleterevision right | suppress | 1.20+ |
deleterevision | Usuwanie i odtwarzanie określonej wersji strony - 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 | Edycja modelu zawartości strony - requires the edit right | user | 1.23.7+ |
editinterface | Edycja interfejsu użytkownika - 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 | Edycja swoich preferencji | * | 1.22+ |
editmyprivateinfo | Edycja swoich prywatnych danych (np. adres e-mail, prawdziwe imię i nazwisko) i wysyłanie wiadomości e-mail resetujących hasło - also hides the "Change Password", but not other ways to change the password - requires the viewmyprivateinfo right | * | 1.22+ |
editmyusercss | Edycja własnych plików 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 | Edycja własnych plików JavaScript - 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 | Edycja własnych plików JavaScript które są przekierowaniami (note that this is not needed if the group already has the edituserjs right) - requires the edit right | — | 1.34+ |
editmyuserjson | Edycja własnych plików JSON (note that this is not needed if the group already has the edituserjson right) - requires the edit right | user | 1.31+ |
editmywatchlist | Edycja swojej listy obserwowanych stron (niektóre akcje mogą dodawać strony do obserwowanych bez tego uprawnienia) - requires the viewmywatchlist right | * | 1.22+ |
editsitecss | Edycja plików CSS projektu - requires the editinterface right | interface-admin | 1.32+ |
editsitejs | Edycja plików JavaScript projektu - requires the editinterface right | interface-admin | 1.32+ |
editsitejson | Edycja plików JSON projektu - requires the editinterface right | sysop, interface-admin | 1.32+ |
editusercss | Edycja plików CSS innych użytkowników - requires the edit right | interface-admin | 1.16+ |
edituserjs | Edycja plików JavaScript innych użytkowników - requires the edit right | interface-admin | 1.16+ |
edituserjson | Edycja plików JSON innych użytkowników - requires the edit right | sysop, interface-admin | 1.31+ |
hideuser | Blokowanie i odblokowywanie użytkownika i ukrywanie lub pokazywanie tego faktu w widoku publicznym - Only users with 1000 edits or less can be suppressed by default - requires the block right
Use |
suppress | 1.10+ |
markbotedits | Oznaczanie rewertu jako edycji bota - zobacz Manual:Rollback - requires the rollback right | sysop | 1.12+ |
mergehistory | Łączenie historii edycji stron - requires the edit right | sysop | 1.12+ |
pagelang | Zmiana języka strony - $wgPageLanguageUseDB must be true | — | 1.24+ |
patrol | Oznaczanie edycji jako „sprawdzone” - $wgUseRCPatrol must be true | sysop | 1.5+ |
patrolmarks | Podgląd znaczników patrolowania ostatnich zmian – oznaczania jako „sprawdzone” | — | 1.16+ |
protect | Zmiana ustawień zabezpieczeń i edycja stron zabezpieczonych kaskadowo - requires the edit right | sysop | 1.5+ |
rollback | Szybkie wycofywanie zmian wprowadzonych przez użytkownika, który jako ostatni edytował stronę - requires the edit right | sysop | 1.5+ |
suppressionlog | Podgląd rejestrów prywatnych | suppress | 1.6+ |
suppressrevision | Podgląd, ukrywanie i odkrywanie wersji ukrytych przed wszystkimi - Prior to 1.13 this right was named hiderevision - requires the deleterevision right | suppress | 1.6+ |
unblockself | Odblokowanie samego siebie - Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator | sysop | 1.17+ |
undelete | Odtwarzanie usuniętych stron - requires the deletedhistory right | sysop | 1.12+ |
userrights | Edycja uprawnień użytkowników - 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 | Edycja uprawnień użytkowników na innych witrynach wiki - requires the userrights right | — | 1.12+ |
viewmyprivateinfo | Podgląd swoich prywatnych danych (np. adres e-mail, prawdziwe imię i nazwisko) | * | 1.22+ |
viewmywatchlist | Podgląd swojej listy obserwowanych stron | * | 1.22+ |
viewsuppressed | Podgląd wersji ukrytych przed każdym użytkownikiem - 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+ |
Administrowanie | |||
autopatrol | Automatyczne oznaczanie własnych edycji jako „sprawdzone” - $wgUseRCPatrol must be true | bot, sysop | 1.9+ |
deletechangetags | Usuwanie znaczników z bazy danych - currently unused by extensions | sysop | 1.28+ |
import | Importowanie stron z innych wiki - "transwiki" - requires the edit right | sysop | 1.5+ |
importupload | Importowanie stron poprzez przesłanie pliku - This right was called 'importraw' in and before version 1.5 - requires the edit right | sysop | 1.5+ |
managechangetags | Tworzenie i (dez)aktywowanie znaczników - currently unused by extensions | sysop | 1.25+ |
siteadmin | Blokowanie i odblokowywanie bazy danych - which blocks all interactions with the web site except viewing. (not available by default) | — | 1.5+ |
unwatchedpages | Podgląd listy stron nieobserwowanych - lists pages that no user has watchlisted | sysop | 1.6+ |
Techniczne | |||
apihighlimits | Zwiększony limit w zapytaniach wykonywanych poprzez interfejs API | bot, sysop | 1.12+ |
autoconfirmed | Wyłączenie z ograniczeń przepustowości nałożonych na IP - used for the 'autoconfirmed' group, see the other table below for more information | autoconfirmed, bot, sysop | 1.6+ |
bot | Oznaczanie edycji jako wykonanych automatycznie - can optionally be viewed | bot | 1.5+ |
ipblock-exempt | Obejście blokad adresów IP, automatycznych blokad i blokad zakresów adresów IP | sysop | 1.9+ |
nominornewtalk | Drobne zmiany na stronach dyskusji użytkowników nie włączają powiadomienia o nowej wiadomości - requires the minoredit right | bot | 1.9+ |
noratelimit | Brak ograniczeń przepustowości - 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 | Eksport stron wraz z linkowanymi do głębokości 5 linków 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 | Czyszczenie pamięci podręcznej stron - URL parameter "&action=purge "
|
user | 1.10+ |
suppressredirect | Przenoszenie stron bez tworzenia przekierowania w miejscu starej nazwy - requires the move right | bot, sysop | 1.12+ |
writeapi | Zapis poprzez interfejs API - requires the edit right | *, user, bot | 1.13+ |
Lista grup
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.
Grupa | Opis | Default rights | Wersje |
---|---|---|---|
* | 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, 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+ |
suppress | deletelogentry, deleterevision, hideuser, suppressionlog, suppressrevision, viewsuppressed |
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.
Domyślne prawa
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.39, are available here:
https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_39/includes/DefaultSettings.php
- Additional rights: you should be able to list all the permissions available on your wiki by running
User::getAllRights()
.
Dodawanie nowych uprawnień
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 ...".
Zobacz też
- Special:ListGroupRights – links to this help page and might contain not yet documented rights
- Pomoc: Prawa i grupy użytkownika – help page describing use of the Special:Userrights interface (for bureaucrats)
- Podręcznik:Przydzielanie użytkownika do grup w MediaWiki – information about managing and the assignment of user groups.
- Podręcznik:$wgNamespaceProtection
- Podręcznik:$wgAutopromote
- Podręcznik:$wgAddGroups , Podręcznik:$wgRemoveGroups
- Manual:Preventing access – examples
- Manual:Establishing a hierarchy of bureaucrats
- Kategoria:Rozszerzenia praw użytkowników – Many extensions relating to user rights