MediaWiki/Benutzerrechte: Unterschied zwischen den Versionen
Zeile 109: | Zeile 109: | ||
== Liste der Berechtigungen == | == 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. | 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. | ||
{| class="wikitable" | {| class="wikitable options" | ||
!Recht | !Recht | ||
!Beschreibung | !Beschreibung | ||
!Voreinstellung (Benutzergruppen) | !Voreinstellung (Benutzergruppen) | ||
|read | |read | ||
|Seiten lesen - Wenn das Recht entzogen ist, können einzelne Seiten mit der Einstellung $wgWhitelistRead ausgenommen werden. | |Seiten lesen - Wenn das Recht entzogen ist, können einzelne Seiten mit der Einstellung $wgWhitelistRead ausgenommen werden. | ||
Zeile 125: | Zeile 122: | ||
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. | 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. | ||
|} | |} | ||
{| class="wikitable options" | |||
!Recht | |||
!Beschreibung | |||
!Voreinstellung (Benutzergruppen) | |||
|*, user | |*, user | ||
|- | |- |
Version vom 2. Juni 2024, 22:28 Uhr
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.
Recht | Beschreibung | Voreinstellung (Benutzergruppen) | read | Seiten lesen - Wenn das Recht entzogen ist, können einzelne Seiten mit der Einstellung $wgWhitelistRead ausgenommen werden.
Obwohl diese Berechtigungen unterschiedliche Handlungen beschränken, werden teilweise mehrere Berechtigungen für das Ausführen einer Aktion benötigt.
BenutzergruppenDie folgenden Benutzerrechte sind bei der neusten Version von MediaWiki verfügbar: In älteren Versionen sind unter Umständen nicht alle Gruppen enthalten.
Seit MediaWiki 1.12, können eigene Benutzergruppen erstellt werden, in die die Benutzer automatisch eingefügt werden (vgl. „autoconfirmed“ bzw. „emailconfirmed“) mittels $wgAutopromote.
Voreingestellte BerechtigungenDie voreingestellten Berechtigungen sind in MainConfigSchema.php festgelegt.
Neue Benutzerrechte erstellenEs 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,
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
Siehe auch
|
---|