Podręcznik:Uprawnienia użytkowników

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 15% complete.

Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Tagalog • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎русский • ‎हिन्दी • ‎中文 • ‎日本語 • ‎한국어

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. Zobacz Help:User rights and groupsHelp:User rights and groups.

Access to this interface is itself governed by the userrights right, so only users in the Biurokraci group can do it (in a default set-up). See Podręcznik:Przydzielanie użytkownika do grup w MediaWikiManual:Setting user groups in MediaWiki for information about managing and the assignment of user groups.

Zmienianie uprawnień grup

A default MediaWiki installation assigns certain rights to default groups (see below). You can change the default rights by editing the $wgGroupPermissionsManual:$wgGroupPermissions array in LocalSettings.phpManual: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.

Przykłady

This example will disable viewing of all pages not listed in $wgWhitelistReadManual:$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:$wgAddGroupsManual:$wgAddGroups and Podręcznik:$wgRemoveGroupsManual:$wgRemoveGroups, you may need to customize those instead.

Przykłady

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)

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:RenameuserExtension: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.

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 $wgWhitelistReadManual:$wgWhitelistRead
Uwaga Uwaga: 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 Authorisation 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+
Edytowanie
applychangetags Wprowadzanie znaczników wraz z własnymi zmianami 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 * 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+
edit Edycja stron *, user 1.5+
editsemiprotected Edycja stron zabezpieczonych na poziomie „Allow only autoconfirmed users” - without cascading protection autoconfirmed 1.22+
editprotected Edycja stron zabezpieczonych na poziomie „Allow only administrators” - without cascading protection sysop 1.13+
move Przenoszenie stron - requires the edit right user 1.5+
move-categorypages Przenoszenie stron kategorii - (requires the move right) user 1.25+
move-rootuserpages Przenoszenie stron użytkowników - requires the move right user 1.14+
move-subpages Przenoszenie stron razem z ich podstronami - requires the move right user 1.13+
movefile Przenoszenie plików - requires the move right and $wgAllowImageMovingManual:$wgAllowImageMoving to be true user 1.14+
reupload Nadpisywanie istniejącego pliku - requires the upload right user 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 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 user 1.5+
upload_by_url Przesyłanie plików z adresu URL - requires the upload right 1.8+
Zarządzanie
bigdelete Usuwanie stron z długą historią edycji sysop 1.12+
block Blokowanie 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 użytkownikom możliwości wysyłania wiadomości - allows preventing use of the Special:Emailuser interface when blocking sysop 1.11+
browsearchive Przeszukiwanie usuniętych stron - through Special:Undelete 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 (not available by default) 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 (not available by default) 1.6+
editcontentmodel Edycja modelu zawartości strony 1.23.7+
editinterface Edycja interfejsu użytkownika - contains interface messages sysop, interface-admin 1.5+
editmyoptions Edycja swoich preferencji * 1.22+
editmyprivateinfo Edycja swoich prywatnych danych (np. adres e-mail, prawdziwe imię i nazwisko) * 1.22+
editmyusercss Edycja własnych plików CSS * 1.22+
editmyuserjs Edycja własnych plików JavaScript * 1.22+
editmyuserjson Edycja własnych plików JSON user 1.31+
editmywatchlist Edycja swojej listy obserwowanych stron. Niektóre akcje mogą dodawać strony do obserwowanych bez tego uprawnienia. * 1.22+
editsitecss Edycja plików CSS projektu interface-admin 1.32+
editsitejs Edycja plików JavaScript projektu interface-admin 1.32+
editsitejson Edycja plików JSON projektu interface-admin 1.32+
editusercss Edycja plików CSS innych użytkowników interface-admin 1.16+
edituserjs Edycja plików JS innych użytkowników interface-admin 1.16+
edituserjson Edycja plików JSON innych użytkowników interface-admin 1.31+
hideuser Blokowanie użytkownika i ukrywanie od publiczności - (not available by default)

Only users with 1000 edits or less can be suppressed by default. Use $wgHideUserContribLimit to disable.

1.10+
markbotedits Oznaczanie rewertu jako edycji bota - see Manual:Administrators#Rollback sysop 1.12+
mergehistory Łączenie historii edycji stron sysop 1.12+
pagelang Zmiana języka strony - $wgPageLanguageUseDBManual:$wgPageLanguageUseDB must be true 1.24+
patrol Oznaczanie edycji jako „sprawdzone” - $wgUseRCPatrolManual:$wgUseRCPatrol must be true sysop 1.5+
patrolmarks Podgląd znaczników patrolowania ostatnich zmian – oznaczania jako „sprawdzone” 1.16+
protect Zmiana poziomu zabezpieczenia i edycja stron zabezpieczonych kaskadowo sysop 1.5+
rollback Szybkie wycofywanie zmian wprowadzonych przez użytkownika, który jako ostatni edytował stronę sysop 1.5+
suppressionlog Podgląd rejestru ukrywania 1.6+
suppressrevision Podgląd, ukrywanie i odkrywanie wersji ukrytych przed wszystkimi - Prior to 1.13 this right was named hiderevision (not available by default) 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 sysop 1.12+
userrights Edycja uprawnień użytkowników - allows the assignment or removal of all* groups to any user.
*With $wgAddGroupsManual:$wgAddGroups and $wgRemoveGroupsManual:$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 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" (not available by default) 1.24+
Administrowanie
autopatrol Automatyczne oznaczanie własnych edycji jako „sprawdzone” - $wgUseRCPatrolManual:$wgUseRCPatrol must be true bot, sysop 1.9+
import Importowanie stron z innych wiki - “transwiki” sysop 1.5+
importupload Importowanie stron poprzez przesłanie pliku - This right was called 'importraw' in and before version 1.5 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. Disabled 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ń prędkości zakładanych 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, automatycznych blokad i blokad zakresów adresów IP sysop 1.9+
minoredit Oznaczanie edycji jako drobnych user 1.6+
nominornewtalk Drobne zmiany na stronach dyskusji użytkowników nie włączają powiadomienia o nowej wiadomości - requires minor edit right bot 1.9+
noratelimit Brak ograniczeń przepustowości - not affected by rate limits (prior to the introduction of this right, the configuration variable $wgRateLimitsExcludedGroupsManual:$wgRateLimitsExcludedGroups was used for this purpose) sysop, bureaucrat 1.13+
purge Czyszczenie pamięci podręcznej stron bez pytania o potwierdzenie - URL parameter "&action=purge" user 1.10+
suppressredirect Przenoszenie stron bez tworzenia przekierowania w miejscu starej nazwy bot, sysop 1.12+
writeapi Zapis poprzez interfejs API *, 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.


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, editmyusercss, editmyuserjs, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi 1.5+
user registered accounts. applychangetags, changetags, createpage, createtalk, edit, 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 $wgAutoConfirmAgeManual:$wgAutoConfirmAge and having at least as many edits as $wgAutoConfirmCountManual:$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, editusercss, edituserjs, 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, upload_by_url 1.5+
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 $wgAutopromoteManual:$wgAutopromote. You can even create any custom group by just assigning rights to them.

Domyślne prawa

The default rights are defined in DefaultSettings.phpManual:DefaultSettings.php.

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 User.phpManual:User.php, $mCoreRights (example). If you're doing so in an extensionManual:Developing extensions, you instead need to use $wgAvailableRightsManual:$wgAvailableRights.

You probably also want to assign it to some user group by editing $wgGroupPermissionsManual:$wgGroupPermissions described above.

If you want this right to be accessible to external applications by OAuthHelp:OAuth or by bot passwords, then you will need to add it to a grant by editing $wgGrantPermissionsManual:$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 ...".

Zobacz też