MediaWiki/Benutzerrechte
Benutzerrechte sind bestimmte Berechtigungen (wie das Bearbeiten von Seiten oder das Sperren von Benutzern), die zu verschiedenen Benutzergruppen zugeordnet werden können.
- MediaWiki wird mit Standardeinstellungen für Benutzer- und Benutzergruppenrechte ausgeliefert.
- Diese können allerdings angepasst werden.
- Diese Seite beschreibt die Standardrechte und -gruppen und erklärt, wie diese angepasst werden.
Informationen darüber, wie einzelne Wiki-Benutzer zu Gruppen hinzufügt und aus Gruppen entfernt werden können, finden sich unter Help:Benutzerrechte und Benutzergruppen und Manual:Einstellungen für Benutzergruppen in MediaWiki.
Gruppenberechtigungen ändern
Eine Standardinstallation ordnet bestimmte Rechte zu Standardgruppen zu (siehe unten).
- Sie können die Standardrechte ändern, indem Sie das $wgGroupPermissions in LocalSettings.php mit der Syntax bearbeiten.
$wgGroupPermissions['group']['right'] = true /* oder false */;
Bei einer Standardinstallation wird $wgGroupPermissions
in includes/DefaultSettings.php
gesetzt, aber es ist nicht in LocalSettings.php
vorhanden.
- Es muss dann in dieser Datei hinzufügt werden.
Gehört ein Mitglied mehreren Gruppen an, so erhält es alle Berechtigungen aus jeder Gruppe, in der es sich befindet.
- Alle Benutzer, einschließlich der anonymen Benutzer, sind in der
'*'
-Gruppe; alle registrierten Benutzer sind in der'user'
-Gruppe. - Zusätzlich zu den Standardgruppen können beliebig neue Gruppen mit dem gleichen Array erstellt werden.
Beispiele
Dieses Beispiel deaktiviert die Anzeige von allen Seiten, die nicht in $wgWhitelistRead aufgeführt werden, und aktiviert sie wieder nur für registrierte Benutzer:
$wgGroupPermissions['*']['read'] = false; # Die folgende Zeile ist nicht notwendig, da sie bereits in der Voreinstellung vorhanden ist.
- Die Belegung von '*' mit <code>false</code> entzieht den Benutzergruppen, die das Recht separat zugewiesen bekommen haben, nicht das entsprechende Recht.
$wgGroupPermissions['user']['read'] = true;
Dieses Beispiel deaktiviert Bearbeitung aller Seiten, dann wieder nur für registrierte Benutzer mit bestätigter E-Mail-Adresse aktiviert:
# Deaktivieren für alle. $wgGroupPermissions['*']['edit'] = false; # Auch für Benutzer deaktivieren: Nach der Voreinstellung dürfen Benutzer bearbeiten, auch wenn <code>*</code> das nicht können. $wgGroupPermissions['user']['edit'] = false; # Konfiguration der Gruppe, sodass E-Mail-bestätigte Benutzer in dieser Gruppe sind. $wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED; # Ausblendung der Gruppe von der Benutzerliste. $wgImplicitGroups[] = 'emailconfirmed'; # Abschließend das Bearbeiten für diese Benutzergruppe erlauben. $wgGroupPermissions['emailconfirmed']['edit'] = true;
Erstellung einer neuen Gruppe und Zuweisung von Berechtigungen
Neue Benutzergruppen werden erstellt, indem Berechtigungen für den entsprechenden Gruppennamen in $wgGroupPermissions[ 'group-name' ]
definiert werden, wobei <group-name> der tatsächliche Name der Gruppe ist.
Zusätzlich zur Zuweisung der Berechtigungen sollten diese drei Wiki-Seiten entsprechend angelegt werden:
- MediaWiki/Group-<group-name> (Inhalt:
Name der Gruppe
) - MediaWiki/Group-<group-name>-member (Inhalt:
Bezeichnung der Gruppenmitglieder
) - MediaWiki/Grouppage-<group-name> (Inhalt:
Name der Gruppenseite
)
Gemäß den Voreinstellungen können Bürokraten Benutzer zu beliebigen Gruppen hinzufügen und aus diesen entfernen.
- Wenn Handbuch:$wgAddGroups und Handbuch:$wgRemoveGroups benutzt werden, muss diese Angabe angepasst werden.
Beispiele
Dieses Beispiel erstellt eine willkürliche „Projektmitglieder“-Gruppe, die Benutzer blockieren und Seiten löschen kann und deren Bearbeitungen im Änderungsprotokoll der letzten Bearbeiten standardmäßig ausgeblendet sind:
$wgGroupPermissions['projectmember']['bot'] = true; $wgGroupPermissions['projectmember']['block'] = true; $wgGroupPermissions['projectmember']['delete'] = true;
Der Name darf keine Leerzeichen enthalten, so sind 'random-group'
oder 'random_group'
anstelle von 'random group'
zu verwenden.
- Außerdem wird empfohlen, bei der Erstellung einer Gruppe nur Kleinbuchstaben zu verwenden.
In diesem Beispiel ist es sinnvoll, auch folgende Seiten zu erstellen:
- MediaWiki/Group-projectmember (Inhalt:
Projektmitglieder
) - MediaWiki/Group-projectmember-member (Inhalt:
Projektmitglied
) - MediaWiki/Grouppage-projectmember (Inhalt:
Projekt:Projektmitglieder
)
Dadurch wird sichergestellt, dass die Gruppe als „Projektmitglieder“ in der Schnittstelle bezeichnet wird, und ein Mitglied wird als „Projektmitglied“ bezeichnet werden, und Übersichten werden den Gruppennamen zu Projekt:Projektmitglieder verlinken.
In diesem Beispiel wird der Schreibzugriff (Seitenbearbeitung und -erstellung) standardmäßig ausgeschaltet, eine Gruppe „Write“ erstellt und dieser Schreibzugriff gegeben.
- Die Benutzer können manuell mittels Special:UserRights dieser Gruppe hinzugefügt werden.
$wgGroupPermissions['*']['edit'] = false; $wgGroupPermissions['*']['createpage'] = false; $wgGroupPermissions['user']['edit'] = false; $wgGroupPermissions['user']['createpage'] = false; $wgGroupPermissions['writer']['edit'] = true; $wgGroupPermissions['writer']['createpage'] = true;
In diesem Beispiel ist es sinnvoll, auch folgende Seiten zu erstellen:
- MediaWiki/Group-writer (Inhalt:
Writers
) - MediaWiki/Group-writer-member (Inhalt:
Writer
) - MediaWiki/Grouppage-writer (Inhalt:
Projekt:Write
)
Entfernen vordefinierter Gruppen
MediaWiki enthält eine Anzahl vordefinierter Gruppen.
- Ein Großteil dieser Gruppen kann durch das Löschen der Zuweisungen wie $wgGroupPermissions[ '<group-name>' ] entfernt werden.
- Für Details, siehe unten.
Beispiele
Dieses Beispiel wird die Gruppe Bürokrat vollständig auflösen.
- Es ist notwendig um sicherzustellen, dass alle sechs dieser Variablen für jede Gruppe ungesetzt sind, das man sich wünscht, das man bei Special:ListGroupRights aufgeführt ist zu entfernen; allerdings $wgGroupPermissions lediglich zurückzusetzen reicht aus, um sie von Special:UserRights zu entfernen.
- Dieser Code sollte nach einer
require_once
-Zeile eingefügt werden, die Erweiterungen wie Extension:AntiSpoof hinzufügt, die Code enthält, der Bürokraten standardmäßig Gruppenberechtigungen gibt.
unset( $wgGroupPermissions['bureaucrat'] ); unset( $wgRevokePermissions['bureaucrat'] ); unset( $wgAddGroups['bureaucrat'] ); unset( $wgRemoveGroups['bureaucrat'] ); unset( $wgGroupsAddToSelf['bureaucrat'] ); unset( $wgGroupsRemoveFromSelf['bureaucrat'] );
Einige Erweiterungen fügen Benutzerrechte hinzu (bspw.
- Flow, Semantic MediaWiki, etc.).
- Hier ist es notwendig, eine Zuweisung in
LocalSettings.php
vorzunehmen, um diese Rechte wieder zu entfernen.
$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) { unset( $wgGroupPermissions['oversight'] ); unset( $wgGroupPermissions['flow-bot'] ); };
Bemerkung zur Benutzergruppe „user“
Mit den oben beschriebenen Maßnahmen können die Benutzergruppen Administrator, Bürokrat und Bot entfernt werden, welche für gewöhnlich über das gewöhnliche Benutzerrechtesystem vergeben werden.
- Momentan ist es jedoch unmöglich die Benutzergruppe
user
zu entfernen. - Die Gruppenmitgliedschaft wird nicht über das Benutzerrechtesystem vergeben.
- Stattdessen wird jeder angemeldete Benutzer automatisch Mitglied.
- Dies ist in MediaWiki festgeschrieben und kann nicht einfach geändert werden.
Liste der Berechtigungen
Die folgenden Benutzerrechte sind bei der neusten Version von MediaWiki verfügbar: Wird eine ältere Version benutzt, kann die Version des Wikis mittels Special:Version mit dem Eintrag in der Spalte „Versionen“ verglichen werden.
Lesen
Recht | Beschreibung | Voreinstellung (Benutzergruppen) | ||
---|---|---|---|---|
read | Seiten lesen - Wenn das Recht entzogen ist, können einzelne Seiten mit der Einstellung $wgWhitelistRead ausgenommen werden.
|
*, user |
Bearbeiten
Recht | Beschreibung | Voreinstellung (Benutzergruppen) |
---|---|---|
applychangetags | Markierungen zusammen mit den Änderungen anwenden - erfordert das „edit “-Recht
|
user |
autocreateaccount | Automatische Anmeldung mit einem externen Benutzerkonto - Eine stärker begrenzte Version von createaccount | — |
createaccount | Benutzerkonto erstellen - register / registration | *, sysop |
createpage | Seiten erstellen (die keine Diskussionsseiten sind) - erfordert das „edit “-Recht
|
*, user |
createtalk | Diskussionsseiten erstellen - erfordert das „edit “-Recht
|
*, user |
delete-redirect | Löschen einer Weiterleitung mit einer Version (dies ist nicht erforderlich, wenn die Gruppe bereits das Recht auf delete hat)
|
— |
edit | Seiten bearbeiten | *, user |
editsemiprotected | Seiten bearbeiten, die als „Allow only autoconfirmed users“ geschützt sind - ohne kaskadierenden Schutz - requires the edit right | autoconfirmed, bot, sysop |
editprotected | Seiten bearbeiten, die als „Allow only administrators“ geschützt sind - ohne kaskadierenden Schutz - requires the edit right | sysop |
minoredit | Bearbeitungen als klein markieren - erfordert das „edit “-Recht
|
user |
move | Seiten verschieben - erfordert das „edit “-Recht
|
user, sysop |
move-categorypages | Kategorieseiten verschieben - erfordert das „move “-Recht
|
user, sysop |
move-rootuserpages | Haupt-Benutzerseiten verschieben - erfordert das „move “-Recht
|
user, sysop |
move-subpages | Seiten inklusive Unterseiten verschieben - erfordert das „move “-Recht
|
user, sysop |
movefile | Dateien verschieben - erfordert das „move “-Recht und $wgAllowImageMoving sollte true sein
|
user, sysop |
reupload | Überschreiben einer vorhandenen Datei - erfordert das „upload “-Recht
|
user, sysop |
reupload-own | Überschreiben einer zuvor selbst hochgeladenen Datei - erfordert das „upload “-Recht (nicht erforderlich, wenn die Benutzergruppe bereits über das Recht reupload verfügt)
|
— |
reupload-shared | Lokales Überschreiben einer in einem gemeinsam genutzten Repositorium vorhandenen Datei - (falls ein solches existiert) mit Dateien im Wiki (erfordert das „upload “-Recht)
|
user, sysop |
sendemail | E-Mails an andere Benutzer senden | user |
upload | Dateien hochladen - erfordert das „edit “-Recht und die Eigenschaft $wgEnableUploads muss auf true gesetzt sein
|
user, sysop |
upload_by_url | Dateien von einer URL-Adresse hochladen - erfordert das „upload “-Recht (vor der Version 1.20 an Sysop vergeben)
|
Verwaltung
Recht | Beschreibung | Voreinstellung (Benutzergruppen) |
---|---|---|
bigdelete | Seiten mit großer Versionsgeschichte löschen (wie in $wgDeleteRevisionsLimit festgelegt) - erfordert das „delete“-Recht | sysop |
block | Sperren oder Entsperren von Benutzern für die Bearbeitung - Sperreinstellungen umfassen das Verhindern vom Bearbeiten und Erstellen neuer Benutzerkonten sowie automatisches Sperren anderer Benutzer mit der selben IP-Adresse | sysop |
blockemail | Sperren oder Entsperren eines Benutzers für das Senden von E-Mails - ermöglicht es, die Verwendung von Special:Emailuser zu verhindern, wenn eine Benutzersperre angelegt wird – erfordert das „$block“-Recht | sysop |
browsearchive | Nach gelöschten Seiten suchen - mittels Special:Undelete - erfordert das „deletedhistory“-Recht | sysop |
changetags | Beliebige Markierungen zu einzelnen Versionen und Logbucheinträgen hinzufügen und entfernen - derzeit von Erweiterungen nicht genutzt | user |
delete | Seiten löschen 1.5–1.11: ermöglicht das Löschen und Wiederherstellen von Seiten
1.12+: ermöglicht das Löschen von Seiten für Wiederherstellungen gibt es nun das 'undelete'-Recht (s.
|
sysop |
deletedhistory | Gelöschte Versionen in der Versionsgeschichte ansehen, ohne zugehörigen Text | sysop |
deletedtext | Gelöschte Texte und Versionsunterschiede zwischen gelöschten Versionen ansehen | sysop |
deletelogentry | Einzelne Logbuch-Einträge löschen und wiederherstellen - ermöglicht das Löschen und Wiederherstellen von Informationen (wie Eintragung, Zusammenfassung, durchführender Benutzer) in spezifischen Logbuch-Einträgen – erfordert das Recht deleterevision | suppress |
deleterevision | Einzelne Versionen einer Seite löschen und wiederherstellen - ermöglicht das Löschen und Wiederherstellen von Informationen wie Textänderung, Zusammenfassung, entsprechender Benutzer einzelner Versionen einer Seite (in der Voreinstellung nicht verfügbar) Ab Version 1.20 in deleterevision und deletelogentry untergliedert | suppress |
editcontentmodel | Das Inhaltsmodell einer Seite bearbeiten - erfordert das „edit“-Recht | user |
editinterface | Systemnachrichten und Benutzeroberflächen bearbeiten - enthält Textbausteine der Benutzeroberfläche Zur Bearbeitung systemweiter CSS-, JSON- und JS-Definitionen gibt es nun einzelne Rechte (s.u.). - erfordert das „edit“-Recht | sysop, interface-admin |
editmyoptions | Eigene Einstellungen bearbeiten | * |
editmyprivateinfo | Eigene private Daten bearbeiten (beispielsweise E-Mail-Adresse, bürgerlicher Name) und E-Mails zum Zurücksetzen des Passworts anfordern - blendet auch die Option "Passwort ändern" aus, aber andere Möglichkeiten zur Änderung des Passworts nicht - erfordert das „viewmyprivateinfo “-Recht
|
* |
editmyusercss | Eigene Benutzer-CSS-Dateien bearbeiten - vor Version 1.31 an alle vergeben (nicht notwendig, wenn die Gruppe bereits über das editusercss-Recht verfügt) - erfordert das „edit“-Recht | user |
editmyuserjs | Eigene Benutzer-JavaScript-Dateien bearbeiten - vor Version 1.31 an alle vergeben (nicht notwendig, wenn die Gruppe bereits über das edituserjs-Recht verfügt) - erfordert das „edit“-Recht | user |
editmyuserjsredirect | Eigene Benutzer-JavaScript-Dateien bearbeiten, die Weiterleitungen sind (dies ist nicht erforderlich, wenn die Gruppe bereits das Recht edituserjs hat) - erfordert das „edit“-Recht | — |
editmyuserjson | Eigene Benutzer-JSON-Dateien bearbeiten (nicht notwendig, wenn die Gruppe bereits über das edituserjson-Recht verfügt) - erfordert das „edit“-Recht | user |
editmywatchlist | Eigene Beobachtungsliste bearbeiten (beachte, dass einige Aktionen auch ohne dieses Recht Seiten hinzufügen) - erfordert das „viewmywatchlist “-Recht
|
* |
editsitecss | Wikiweit CSS bearbeiten - setzt das „editinterface“-Recht voraus | interface-admin |
editsitejs | Wikiweites JavaScript bearbeiten - erfordert das „editinterface“-Recht | interface-admin |
editsitejson | Wikiweites JSON bearbeiten - setzt das „editinterface“-Recht voraus | sysop, interface-admin |
editusercss | Fremde CSS-Dateien bearbeiten - erfordert das „edit“-Recht | interface-admin |
edituserjs | Fremde JavaScript-Dateien bearbeiten - setzt das „edit“-Recht voraus | interface-admin |
edituserjson | JSON-Dateien anderer Benutzer bearbeiten - erfordert das „edit“-Recht | sysop, interface-admin |
hideuser | Sperren oder Entsperren eines Benutzernamens, Verstecken oder Wiederanzeigen vor der Öffentlichkeit - Nur Benutzer mit nicht mehr als 1000 Bearbeitungen (Voreinstellung) können unsichtbar gemacht werden. - erfordert das „block“-Recht
Mit |
suppress |
markbotedits | Schnell zurückgesetzte Bearbeitungen als Bot-Bearbeitung markieren - siehe Manual:Rollback - erfordert das „rollback“-Recht | sysop |
mergehistory | Versionsgeschichten von Seiten vereinen - erfordert das „edit“-Recht | sysop |
pagelang | Seitensprache ändern - $wgPageLanguageUseDB muss auf "true" gesetzt sein. | — |
patrol | Fremde Bearbeitungen als kontrolliert markieren - $wgUseRCPatrol muss auf "true" gesetzt sein. | sysop |
patrolmarks | Kontrollmarkierungen in den letzten Änderungen sehen | — |
protect | Schutzeinstellungen ändern und kaskadengeschützte Seiten bearbeiten - erfordert das „edit“-Recht | sysop |
rollback | Schnelles Zurücksetzen - setzt das „edit“-Recht voraus | sysop |
suppressionlog | Private Logbücher ansehen | suppress |
suppressrevision | Bestimmte Versionen vor jedem Benutzer verstecken, wiederherstellen und anschauen - Vor Version 1.13 hieß die Berechtigung hiderevision. - setzt das „deleterevision“-Recht voraus | suppress |
unblockself | Sich entsperren - Ohne es kann ein Administrator mit dem Recht Benutzer zu sperren sich selbst nicht entsperren, wenn er/sie von einem anderen Administrator gesperrt wurde. | sysop |
undelete | Seiten wiederherstellen - erfordert das „deletedhistory“-Recht | sysop |
userrights | Benutzerrechte verwalten - Erlaubt die Vergabe oder den Entzug aller* Benutzergruppen an einen Benutzer.
|
bureaucrat |
userrights-interwiki | Benutzerrechte in anderen Wikis verwalten - requires the userrights right | — |
viewmyprivateinfo | Eigene private Daten ansehen (beispielsweise E-Mail-Adresse, bürgerlicher Name) | * |
viewmywatchlist | Eigene Beobachtungsliste ansehen | * |
viewsuppressed | Vor jedem Benutzer versteckte Versionen ansehen - folglich eine eingeschränkte Version von "suppressrevision", welches dieses Recht einschließt | suppress |
Verwaltung | ||
autopatrol | Eigene Bearbeitungen automatisch als kontrolliert markieren - $wgUseRCPatrol muss auf "true" gesetzt sein. | bot, sysop |
deletechangetags | Markierungen aus der Datenbank löschen - derzeit nicht von Erweiterungen genutzt | sysop |
import | Seiten aus anderen Wikis importieren - „transwiki“ - erfordert das „edit“-Recht | sysop |
importupload | Seiten über Hochladen von Dateien importieren - Das Recht hieß bis einschließlich Version 1.5 "importraw". - erfordert das „edit“-Recht | sysop |
managechangetags | Markierungen erstellen und (de)aktivieren - derzeit nicht von Erweiterungen genutzt | sysop |
siteadmin | Datenbank sperren und entsperren - verhindert alle Interaktionen mit der Webseite außer Lesen (in den Voreinstellungen nicht verfügbar) | — |
unwatchedpages | Liste der unbeobachteten Seiten ansehen - zeigt alle Seiten, die auf keiner Beobachtungsliste stehen | sysop |
Technisches
Recht | Beschreibung | Voreinstellung (Benutzergruppen) |
---|---|---|
apihighlimits | Höhere Limits in API-Abfragen | bot, sysop |
autoconfirmed | Keine Beschränkung durch IP-basierte Limits - in Benutzung durch die „autoconfirmed“-Gruppe, siehe untenstehende Tabelle (note that this is not needed if the group already has the noratelimit right) | autoconfirmed, bot, sysop |
bot | Behandlung als automatischer Prozess - kann gegebenenfalls angesehen werden | bot |
ipblock-exempt | Ausnahme von IP-Sperren, automatischen Sperren und Rangesperren | sysop |
nominornewtalk | Kleine Bearbeitungen an Diskussionsseiten führen zu keiner „Neue Nachrichten“-Anzeige - setzt das „minoredit“-Recht voraus | bot |
noratelimit | Keine Beschränkung durch Limits - not affected by rate limits (prior to the introduction of this right, the configuration variable $wgRateLimitsExcludedGroups was used for this purpose) | sysop, bureaucrat |
override-export-depth | Exportiere Seiten einschließlich verlinkter Seiten bis zu einer Tiefe von 5
With this right, you can define the depth of linked pages at Special:Export.
| |
suppressredirect | Beim Verschieben die Erstellung einer Weiterleitung unterdrücken - erfordert das move-Recht | bot, sysop |
writeapi | Benutzung der API mit Schreibzugriff - setzt das „edit“-Recht voraus | *, user, bot |
Obwohl diese Berechtigungen unterschiedliche Handlungen beschränken, werden teilweise mehrere Berechtigungen für das Ausführen einer Aktion benötigt.
- Beispielsweise ist es nicht sinnvoll, Benutzern das Bearbeiten von Seiten zu erlauben, das Lesen aber zu verbieten, da sie die Seiten erst lesen müssen, um sie bearbeiten zu können (unter der Annahme, dass keine Seiten vom Leseverbot ausgenommen sind).
- Es ist nicht sinnvoll, das Hochladen zu erlauben und das Bearbeiten zu verbieten, da beim Hochladen implizit eine Beschreibungsseite angelegt wird.
Benutzergruppen
Die folgenden Benutzerrechte sind bei der neusten Version von MediaWiki verfügbar: In älteren Versionen sind unter Umständen nicht alle Gruppen enthalten.
Gruppe | Beschreibung | Voreinstellung (Benutzerrechte) |
---|---|---|
* | alle Benutzer (auch nicht angemeldete) | createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi |
temp | Temporary user accounts (T330816) | Similar to * group |
user | angemeldete Benutzer | 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 | angemeldete Benutzer mit mindestens $wgAutoConfirmCount Bearbeitungen, deren Konten mindestens so alt sind wie in $wgAutoConfirmAge festgelegt | autoconfirmed, editsemiprotected |
bot | Konten mit bot-Rechten (für automatisierte Bearbeitungen) | autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi |
sysop | Benutzer, die per Voreinstellungen Seiten löschen und wiederherstellen, Benutzer sperren und entsperren und Ähnliches können | 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 |
interface-admin | Benutzer, die wiki-weite Änderungen an CSS- und JS-Skripten vornehmen können | editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson |
bureaucrat | Benutzer, die per Voreinstellung die Rechte anderer Benutzer ändern können | noratelimit, userrights |
suppress | deletelogentry, deleterevision, hideuser, suppressionlog, suppressrevision, viewsuppressed |
Seit MediaWiki 1.12, können eigene Benutzergruppen erstellt werden, in die die Benutzer automatisch eingefügt werden (vgl. „autoconfirmed“ bzw. „emailconfirmed“) mittels $wgAutopromote.
- Eine neue Benutzergruppe kann sogar dadurch erstellt werden, dass lediglich Benutzerrechte mit ihr assoziiert werden.
Voreingestellte Berechtigungen
Die voreingestellten Berechtigungen sind in MainConfigSchema.php festgelegt.
- Voreingestellte Werte in der HEAD-Version: https://phabricator.wikimedia.org/diffusion/MW/browse/master/includes/MainConfigSchema.php
- Die Standardwerte der letzten stabilen Veröffentlichung von MediaWiki, Version 1.41, sind hier verfügbar: https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_41/includes/MainConfigSchema.php
- Zusätzliche Rechte: Alle verfügbaren Rechte können aufgelistet werden, indem
User::getAllRights()
ausgeführt wird.
Neue Benutzerrechte erstellen
Es folgen Informationen nur für Kodierer.
Wird ein neues Recht im core hinzugefügt, beispielsweise, um eine neue Spezialseite zu steuern, muss es zur Liste der verfügbaren Rechte in PermissionManager.php hinzugefügt werden, $coreRights
(Beispiel).
- Wird dies in einer Erweiterung getan, ist stattdessen $wgAvailableRights zu verwenden.
Wahrscheinlich soll es auch einer Benutzergruppe zugewiesen werden, indem $wgGroupPermissions, wie oben beschrieben, bearbeitet wird.
Soll dieses Recht auch für externe Anwendungen über OAuth oder Bot-Passwörter zugänglich sein, ist es einem Grant hinzufügen, was durch Bearbeitung der $wgGrantPermissions geschieht.
// erstelle projectmember-powers-Recht $wgAvailableRights[] = 'projectmember-powers';
// Hinzufügen von Projektmitarbeiter-Befugnissen zur Projektmitarbeiter-Gruppe $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 ...".
Siehe auch
- Special:ListGroupRights – links to this help page and might contain not yet documented rights
- Help:Benutzerrechte und Benutzergruppen – help page describing use of the Special:Userrights interface (for bureaucrats)
- Manual:Einstellungen für Benutzergruppen in MediaWiki – Informationen über die Verwaltung und Zuweisung von Benutzergruppen.
- Handbuch:$wgNamespaceProtection
- Handbuch:$wgAutopromote
- Handbuch:$wgAddGroups, Handbuch:$wgRemoveGroups
- Zugriff verhindern – Beispiele
- Manual:Establishing a hierarchy of bureaucrats
- Kategorie:Benutzerrechtserweiterungen – viele Erweiterungen zu Benutzerrechten