Berechtigungsvergabe in phpBB 3

Beschreibung: Zusammenfassung, wie das Berechtigungssystem in phpBB 3 funktioniert

Kategorie: Berechtigungen

Link zu diesem Artikel: Alles auswählen

[url=https://www.phpbb.de/kb/viewarticle?a=45&sid=21540a7611714443a46fce2671c7b40f]Knowledge Base - Berechtigungsvergabe in phpBB 3[/url]

Da im Forum immer wieder Fragen zur Berechtigungsvergabe im neuen phpBB 3 auftauchen soll dieser Artikel kurz zusammenfassen, wie das Rechtesystem funktioniert. Es stimmt zwar, dass das System deutlich komplexer geworden ist als es noch bei phpBB2 der Fall gewesen ist, aber dafür hat es deutlich an Flexibilität und Bedienungskomfort gewonnen.

Die einfachste und schnellste Möglichkeit viele Foren mit den gleichen Rechten auszustatten besteht darin, zunächst ein Forum komplett mit diesen Rechten zu erstellen und dann die anderen Foren die Rechte von diesem Forum kopieren zu lassen. Das funktioniert auch mit bereits existierenden Foren, allerdings muss man in dem Fall dann die Einstellungen jedes Forums einzeln nachbearbeiten.
Da sich dieser Artikel mit der Rechtevergabe beschäftigen soll und nicht mit der Erstellung von Foren bleibt die Durchführung dessen vorerst außen vor, bei ausreichender Betrachtung der Einstellungsmöglichkeiten eines Forums wird die Vorgehensweise allerdings deutlich.

Vor dem eigentlichen setzen der Rechte sollte man sich natürlich Gedanken gemacht haben wer welche Rechte überhaupt bekommen sollte, hierbei sollte man wenn möglich die Rechte immer nur an Gruppen vergeben und nicht an einzelne User, denn Gruppen vergisst man nicht ganz so leicht, wenn man einmal eine oder mehrere Änderungen an den Berechtigungen durchführen muss. Dementsprechend sollte man natürlich die passenden Gruppen auch vor der Rechtevergabe erstellen sofern diese noch nicht existieren.

Die hier geschilderten Beispiele orientieren sich zumeist an Foren Berechtigungen, das lässt sich allerdings auch auf die übrigen Berechtigungen übertragen, bei den globalen Rechten fällt lediglich die Auswahl des Forums weg. Eine grobe Beschreibung der Berechtigungstypen findet sich auch in diesem Artikel, der sich auch gut als grober Einstieg in das Rechtesystem eignet.

Wer hier nach einer genauen Beschreibung der über hundert vorgegebenen Rechte sucht sucht an der falschen Stelle, für die meisten Rechte sollte sich die Funktion aus der Beschreibung ergeben, die sich im Adminbereich findet.

Vorgehen zum Setzen der Berechtigungen eines Forums

  • Navigiere im Administrationsbereich (ACP) zum Modul "Berechtigungen"
  • Wähle hier unter "Forenbasierte Berechtigungen" den Punkt "Forenrechte"
  • Wähle das gewünschte Forum aus (es lassen sich auch mehrere Foren auswählen oder ein Forum mit sämtlichen Unterforen)
  • Im nächsten Fenster kannst du die Gruppen oder User wählen deren Berechtigungen du verändern willst. Wenn noch keine Berechtigungen für das Forum gesetzt wurden dann entspricht die Voreinstellung der ehemaligen Rolle "Privat [Versteckt]", d.h. es ist kein Zugriff (Weder lesen, noch betrachten in der Übersicht) auf das Forum möglich, es existiert für die betreffenden User noch nicht. Daher musst du hier nur die Gruppen auswählen, denen du Zugriffsrechte auf das Forum geben möchtest, alle anderen haben von vorne herein erst einmal keinen Zugriff (und können das Forum auch nicht sehen).
    Wähle also alle Gruppen aus, die irgend einen Teil des Forums zu Gesicht bekommen sollen.
    Ob bereits Berechtigungen eingestellt wurden oder nicht lässt sich daran sehen, ob die Gruppen oder Benutzer in den oberen Auswahllisten stehen oder ob sie von unten hinzugefügt werden müssen.
  • In der nächsten Übersicht lassen sich nun die Berechtigungen einstellen. Das einfachste ist hierbei die Auswahl einer der vorgegebenen Rollen. Für jede Gruppe und jeden Benutzer sowie für jedes Forum muss einzeln eine Rolle ausgewählt werden. Alternativ kannst du die Berechtigungen auch in allen Details vergeben, das ist aber nicht zu empfehlen wenn bei mehr als einem Forum die gleichen Rechte verwendet werden sollen. Wenn die vorgegebenen Rollen nicht ausreichen empfiehlt sich die Erstellung von eigenen Rollen die weiter unten beschrieben wird.
    Eine Beschreibung der einzelnen zur Wahl stehenden Rollen erscheint, wenn der Mauszeiger sich auf der betreffenden Rolle in der Auswahlliste befindet.

Für welche Art von Forum sollte ich welche Einstellungen wählen?

Nachdem nun geklärt ist wie man Berechtigungen für ein Forum erstellt sollte geklärt werden welche Berechtigungen man sinnvollerweise für ein Forum einrichtet. In den meisten Fällen werden hierbei die vorgegebenen Rollen ausreichen, wenn nicht lassen sich ganz leicht eigene erstellen oder die vorhandenen den eigenen Bedürfnissen anpassen.

Nachfolgend eine Liste mit den vermutlich häufigsten Fällen:
  • Das Forum soll für alle Benutzer (auch Gäste) lesbar sein, aber nur registrierte Benutzer dürfen Posten. Anhänge und Umfragen sind erlaubt, Ankündigungen und Wichtige Themen nur für Administratoren und Globale Moderatoren.
    • Die Gruppe "Gäste" muss auf "nur lesender Zugang" gestellt werden.
    • Die Gruppe "registrierte Benutzer" muss auf "Standard Zugang + Umfragen" gestellt werden.
    • Die Gruppe "Bots" sollte auf "Bot-/Spider-Zugang" gestellt werden.
    • Die Gruppe "Administratoren" sollte auf "Voller Zugang" gestellt werden.
    • Die Gruppe "Globale Moderatoren" sollte auf "Voller Zugang" gestellt werden.
  • Das Forum soll für alle Benutzer (auch Gäste) lesbar sein, aber nur registrierte Benutzer dürfen Posten. Umfragen sind erlaubt, Ankündigungen und Wichtige Themen nur für Administratoren und Globale Moderatoren.
    • Die Gruppe "Gäste" muss auf "nur lesender Zugang" gestellt werden.
    • Die Gruppe "registrierte Benutzer" muss auf "Begrenzter Zugang + Umfragen" gestellt werden.
    • Die Gruppe "Bots" sollte auf "Bot-/Spider-Zugang" gestellt werden.
    • Die Gruppe "Administratoren" sollte auf "Voller Zugang" gestellt werden.
    • Die Gruppe "Globale Moderatoren" sollte auf "Voller Zugang" gestellt werden.
  • Das Forum soll für alle Benutzer (auch Gäste) sichtbar sein, aber nur registrierte Benutzer dürfen im Forum lesen und posten, Anhänge und Umfragen sind erlaubt, Ankündigungen und Wichtige Themen nur für Administratoren und Globale Moderatoren.
    • Die Gruppe "Gäste" muss auf "kein Zugang" gestellt werden. Zusätzlich muss unter "Erweiterte Berechtigungen" -> "Beiträge" der Punkt "Kann Forum sehen" auf Ja gestellt werden. Besser ist hier allerdings das erstellen einer neuen Rolle.
    • Die Gruppe "registrierte Benutzer" muss auf "Standard Zugang + Umfragen" gestellt werden.
    • Die Gruppe "Bots" sollte auf "kein Zugang" gestellt werden.
    • Die Gruppe "Administratoren" sollte auf "Voller Zugang" gestellt werden.
    • Die Gruppe "Globale Moderatoren" sollte auf "Voller Zugang" gestellt werden.
  • Das Forum soll für alle Benutzer (auch Gäste) sichtbar sein, aber nur registrierte Benutzer dürfen im Forum lesen und posten, Umfragen sind erlaubt, Ankündigungen und Wichtige Themen nur für Administratoren und Globale Moderatoren.
    • Die Gruppe "Gäste" muss auf "kein Zugang" gestellt werden. Zusätzlich muss unter "Erweiterte Berechtigungen" -> "Beiträge" der Punkt "Kann Forum sehen" auf Ja gestellt werden. Besser ist hier allerdings das erstellen einer neuen Rolle.
    • Die Gruppe "registrierte Benutzer" muss auf "Begrenzter Zugang + Umfragen" gestellt werden.
    • Die Gruppe "Bots" sollte auf "kein Zugang" gestellt werden.
    • Die Gruppe "Administratoren" sollte auf "Voller Zugang" gestellt werden.
    • Die Gruppe "Globale Moderatoren" sollte auf "Voller Zugang" gestellt werden.
  • Wie oben, aber ohne Umfragen
    • Bei den Berechtigungen "+ Umfragen" weglassen
  • Das Forum soll für alle Benutzer unsichtbar sein, nur Administratoren und Globale Moderatoren sollen Zugriff erhalten.
    • Die Gruppe "Gäste" muss auf "kein Zugang" gestellt werden.
    • Die Gruppe "registrierte Benutzer" muss auf "kein Zugang" gestellt werden.
    • Die Gruppe "Bots" sollte auf "kein Zugang" gestellt werden.
    • Die Gruppe "Administratoren" sollte auf "Voller Zugang" gestellt werden.
    • Die Gruppe "Globale Moderatoren" sollte auf "Voller Zugang" oder "Standard Zugang + Umfragen" gestellt werden.
  • Das Forum soll für alle Benutzer unsichtbar sein, nur Administratoren und alle Moderatoren (egal ob Global oder nicht) sollen Zugriff erhalten.
    • Die Gruppe "Gäste" muss auf "kein Zugang" gestellt werden.
    • Die Gruppe "registrierte Benutzer" muss auf "kein Zugang" gestellt werden.
    • Die Gruppe "Bots" sollte auf "kein Zugang" gestellt werden.
    • Die Gruppe "Administratoren" sollte auf "Voller Zugang" gestellt werden.
    • Die Gruppe "Globale Moderatoren" sollte auf "Voller Zugang" oder "Standard Zugang + Umfragen" gestellt werden.
    • Zusätzlich muss eine Gruppe angelegt werden in der sämtliche Moderatoren zusammengefasst sind. Diese muss dann ebenfalls auf "Voller Zugang" oder "Standard Zugang + Umfragen" gestellt werden.
  • Das Forum soll als "Container" für seine Unterforen fungieren, im Forum selbst soll aber niemand posten.
    • Alle Gruppen müssen für dieses Forum auf "nur lesender Zugang" gestellt werden.
    • Die Unterforen sollten entsprechend der eigenen Wünsche bei den Zugriffsrechten angepasst werden, z.B. nach dieser Liste.

Funktionsweise der Einstellungen Ja/Nein/Nie

Das Rechtesystem des phpBB3 kennt für jedes Recht drei Einstellungsmöglichkeiten: Ja, Nein, oder Nie. Im Vorgänger phpBB2 gab es nur die Einstellungen Ja oder Nein. Das Funktionsprinzip hierbei war denkbar einfach: Solange es nur irgend eine Gruppe gab, in der der Benutzer Mitglied war, deren Berechtigung auf Ja gesetzt war besaß der Benutzer das entsprechende Recht (Ja in Gruppe A, Nein in Gruppe B => Insgesamt Ja). Dieses Prinzip gilt auch in phpBB3 noch immer, bekommt allerdings mit der Stufe Nie eine Erweiterung: Ist für ein Recht "Nie" eingestellt, so überschreibt dieses "Nie" bei der Prüfung der Rechte sämtliche anderen Rechte. Wenn der Benutzer also Mitglied in einer Gruppe ist, für die "Nie" für ein Recht eingestellt ist, dann ist es völlig egal wie das Recht in den anderen Gruppen eingestellt ist in denen er Mitglied ist, er wird das Recht nie bekommen (Ja in Gruppe A, nie in Gruppe B => Insgesamt Nein).

Zusammengefasst:
  • Nein Das Recht ist nicht gesetzt, der User kann aber über eine andere Gruppe durchaus diese Berechtigung erhalten
  • Ja Das Recht ist gesetzt
  • Nie Das Recht wird verweigert und der User wird es niemals erhalten (Ausnahme: Gründer und Moderatoren erhalten aus Sicherheitsgründen gewisse Rechte trotz eines "Nie", so kann z.B. ein normaler Admin niemals einen Gründer aus dem ACP verbannen indem er sämtliche Adminrechte entfernt, der Gründer erhält trotzdem vollen Zugriff.)
Auf diese Weise ergeben sich vielfältige Möglichkeiten für die Rechtevergabe. Beispielsweise ist es nun möglich, Benutzer durch Gruppenzuweisung aus Foren auszusperren. Es muss lediglich eine Gruppe erstellt werden, die bei den Zugriffsrechten auf das betreffende Forum in allen Bereichen "Nie" eingestellt hat und kein User, der in die Gruppe eingefügt wurde wird Zugriff darauf erlangen können.

Berechtigungs Rollen?

Mit den Berechtigungsrollen kannst du Vorgabemasken für die Rechteeinstellungen erstellen. Es gibt bei phpBB3 genau wie bei phpBB2 bereits einige vorgefertigte (bei phpBB2 verfügbar über die "einfache Methode" bei der Rechtevergabe), im Unterschied zu phpBB2 lassen sich die Berechtigungen in den Rollen aber anpassen und ergänzen, d.h. du kannst selbst Vorgaben erstellen und diese dann an Gruppen zuweisen (-> Die Dropdown Listen bei der Rechtevergabe wo z.b. "Voller Zugang", "Kein Zugang" usw. drin steht lassen sich ergänzen, genau das sind die Rollen).

Hierbei werden natürlich die Rollen genau wie die Berechtigungen selbst in 4 Gruppen aufgeteilt: Administratorrechte, Moderatorrechte, Benutzerrechte und Forenrechte. Hierbei sind die Forenrechte im Prinzip nichts anderes als Benutzerrechte, die nur für ein bestimmtes Forum gelten, während Administratorrechte und Benutzerrechte eigentlich immer global sind (Moderatorrechte können global wirken (-> Globale Moderatoren) können aber auch lokal auf ein Forum beschränkt sein).

Vielleicht um das ganze mal nicht so ganz so abstrakt zu halten ein Beispiel:
Du hast gerade das Forum "Testforum" erstellt ohne irgendwelche Berechtigungen zu übernehmen. In diesem Zustand gibt es das Forum zwar im ACP, allerdings wird kein User, nicht einmal ein Moderator oder Administrator das Forum an einer anderen Stelle entdecken können, da niemand Zugriffsrechte darauf besitzt.
Jetzt möchtest du das Forum für alle Administratoren zugängig machen. Administratoren sind Mitglieder der Gruppe "Administratoren". Also musst du der Gruppe entsprechende Rechte zuweisen. Also gehst du im ACP auf "Berechtigungen" -> "Forenbasierte Berechtigungen" -> "Gruppenspezifische Forenrechte", wählst die "Administratoren", und dann das gewünschte Forum "Testforum". Jetzt bekommst du eine Übersicht, auf der etwa sowas steht:
Testforum [Forums-Berechtigungen]
Administratoren

Rolle: Keine Rolle zugewiesen ...
Per Klick auf "Erweiterte Berechtigungen" kannst du dann feststellen, dass offenbar sämtliche Rechte auf "nein" stehen. Jetzt wählst du als Rolle "Voller Zugang". Wenn du an den Einstellungen der Rolle nichts geändert hast, dann sollten jetzt sämtliche Rechte auf "Ja" gesetzt sein.

Das speicherst du erst einmal und führst das für allerlei Foren aus die dir in den Sinn kommen und kommst dann auf die Idee: "Voller Zugriff ist vielleicht doch keine so gute Idee, ich möchte dass auch beim Vollen Zugriff immer noch keine Umfragen erlaubt sind." Jetzt brauchst du nicht wie in phpbb2 sämtliche Forenrechte für sämtliche Gruppen anpassen, sondern lediglich eine Rolle. Du gehst also auf "Berechtigungen" -> "Berechtigungs-Rollen" -> "Foren-Rollen" und wählst dort die Rolle "Voller Zugang" aus. Mit einem Klick auf "Ändern" (das kleine Grüne Zahnrad rechts davon) lassen sich diese Berechtigungen nun anpassen und Änderungen hier wirken sich auf sämtliche Foren aus, in denen die Rolle zugewiesen ist, so dass man gleich mehrere Fliegen mit einer Klappe erschlägt.

Erstellen und Bearbeiten von Berechtigungsrollen

Um eine Rolle zu erstellen navigiere im ACP zu "Berechtigungen" -> "Berechtigungs-Rollen". Hier musst du zunächst entscheiden welche Art von Rolle du erstellen möchtest. Wähle die gewünschte Rollenart aus und du gelangst zu einer Übersicht, in der sämtliche bereits vorhandene Rollen mitsamt einer Beschreibung aufgelistet werden. Mit den Buttons ganz links in der Liste kannst du die einzelnen Einträge bearbeiten oder dir zugeordnete Elemente (also Gruppen und Benutzer (bei Forenbezogenen Rollen mitsamt Forum) denen die entsprechende Rolle zugewiesen wurde) anzeigen lassen. Du kannst auch die Reihenfolge ändern in der die Rollen in den Auswahllisten bei der Rechtevergabe erscheinen oder eine Rolle ganz löschen.

Wenn du eine neue Rolle erstellen willst, dann gib einen Namen in das Textfeld unterhalb der Liste ein. Hierbei kannst du auch gleich eine Rolle angeben, deren Berechtigungen zunächst übernommen werden sollen, so dass du nicht mehr alle Rechte vollständig von Hand einstellen musst.

Wenn du deine Eingabe gemacht hast kommst du zu einer Übersicht, in der du die Rolle genauer festlegen kannst. Du kannst hier zusätzlich zum Namen eine weitere Beschreibung angeben, die neben der Auswahlliste erscheint sobald der Mauszeiger auf der Rolle ruht und vor allem die genauen Berechtigungen einstellen, für die die Rolle steht. Die zur Verfügung stehenden Möglichkeiten umfassen weiterhin Ja/Nein/Nie für jedes einzelne Recht. Allerdings lassen sich die Rollen natürlich nicht auf einzelne Foren beziehen, schließlich werden die Rollen erst einer Kombination aus Gruppe und Forum oder Benutzer und Forum zugewiesen.

Änderungen die an den Rollen gemacht werden wirken sich auf alle bisherigen Zuweisungen aus. D.h. wenn für die Rolle "Standard Zugang" z.b. wichtige Themen erlaubt werden, dann wirkt sich das auf alle Foren und Gruppen aus, denen diese Rolle zugeteilt wurde und die betreffenden Gruppen dürfen in den entsprechenden Foren Wichtige Themen erstellen (sofern nicht durch ein Nie aus einer anderen Gruppe verboten). Genau das macht die Rollen sehr praktisch. Fügt man beispielsweise neue Rechte hinzu (z.B. aufgrund eines Mods, die Standardeinstellung von neuen Rechten ist nein) oder möchte man ein bestehendes Recht in vielen Foren ändern, so muss man - sofern man von Anfang an konsequent mit Rollen gearbeitet hat - nur noch einige wenige Rollen bearbeiten anstelle einiger hundert Gruppen - Forenzuweisungen.

Häufige Probleme bei der Rechtevergabe

Diese (keineswegs vollständige) Liste soll als schnelle Abhilfe bei häufigen Problemen dienen. Teils scheinen die Probleme auch nur mit der Rechtevergabe zusammenzuhängen, liegen aber in Wirklichkeit an anderer Stelle. Vielleicht ist dein Problem ja dabei:

Ich bin Administrator, kann aber trotzdem fremde Beiträge nicht bearbeiten
In diesem Punkt unterscheidet sich phpBB3 grundlegend von phpBB2. Früher konnte ein Administrator grundsätzlich sämtliche Foren sehen und hatte grundsätzlich sämtliche Moderatorrechte inne. Das ist nun nicht mehr so, d.h. auch einem Administrator müssen entsprechende Rechte erst explizit gewährt werden. Auf diese Weise kann man auch eingeschränkte Administratoren aus Bereichen des Forums aussperren wenn man möchte. Wenn ein Administrator Moderatorrechte bekommen soll, dann muss er sich in einer Gruppe befinden, die diese Rechte besitzt. I.a. reicht es aus, den Administrator in die Gruppe "Globale Moderatoren" zu schieben um ihm Moderatorrechte zu geben. Es ist allerdings auch möglich einer der Gruppen in der der Administrator ist (z.B. der Gruppe "Administratoren") in allen Foren Moderatorrechte zu geben.

Ich kann den Button zum Erstellen eines neuen Themas nirgendwo finden
Das kann mehrere Ursachen haben. Zum einen ist es möglich, dass du nicht die Berechtigung besitzt, in dem Forum zu posten. In diesem Fall werden die Buttons ausgeblendet und du musst dir über das ACP oder wenn es nicht dein eigenes Board ist einen Administrator die entsprechende Berechtigung verschaffen. Die zweite Möglichkeit ist, dass du vergessen hast die Grafiken zu installieren. Da die Buttons sprachbezogene Inhalte enthalten ("New Topic" <-> "Neues Thema") müssen sie für jede Sprache installiert werden, allerdings liegen sie dem einfachen Sprachpaket nicht direkt bei sondern müssen zusätzlich heruntergeladen werden, da sie ja auch vom Style abhängen. Wenn du also die Grafiken nicht installiert hast, dann solltest du dir von phpbb.com die Sprachbezogenen Buttons herunterladen und in den passenden Style-Ordner kopieren. Danach sollten - sofern die Rechte alle korrekt eingerichtet sind - die Buttons erscheinen.

Ich bin Administrator, aber kann ein gerade von mir erstelltes Forum nirgendwo auf dem Index entdecken
Das liegt vermutlich daran, dass du noch keinerlei Rechte für das neue Forum vergeben hast. Ohne Rechte kannst du das Forum nicht sehen - auch als Administrator nicht. Gehe also nochmals in das ACP und richte für das Forum und deine Gruppe entsprechende Berechtigungen ein. Beachte hierbei auch, dass Übergeordnete Foren ebenfalls Berechtigungen haben, wenn die Berechtigungen für das übergeordnete Forum fehlen kannst du auch auf die untergeordneten nicht zugreifen. Du solltest also bei den Berechtigungen die Kategorien keinesfalls vergessen.

Meine Benutzer haben alle Rechte um Beiträge zu erstellen, trotzdem muss ein Moderator die Beiträge freigeben
Es gibt seit kurzem eine weitere Möglichkeit warum die Beiträge eines Users von einem Moderator freigegeben werden müssen: phpBB bietet nun die Möglichkeit, eine Mindestbeitragszahl anzugeben die notwendig ist um Beiträge ohne Freigabe zu erstellen. Konkret bedeutet das: Alle User, die diese Beitragszahl noch nicht erreicht haben müssen ihre Beiträge erst von einem Moderator überprüfen lassen - unabhängig von der Einstellung der Rechte die ihnen vielleicht das direkte Erstellen von Beiträgen erlauben würde. Diese Einstellung findet sich unter Allgemein -> Beiträge -> Beitragsfreigabe aktivieren und lässt sich dort mit einer Umstellung auf "nein" deaktivieren. Können die User danach immer noch keine Beiträge ohne Freigabe erstellen, dann sind die Rechte falsch - prüfe nochmals ob die Rollen korrekt eingerichtet sind und die User das Recht zur freigabelosen Beitragserstellung auch tatsächlich besitzen (z.b. per Effektive Berechtigungen - oder Rechte verfolgen)

Einige neue User dürfen keine PNs schreiben, oder dürfen keine Beiträge schreiben, die anderen aber schon
Es gibt seit kurzem eine neue Gruppe: "Kürzlich registrierte Benutzer". Diese Gruppe ist dazu da, die Rechte von neu registrierten Benutzern gegenüber den Rechten der anderen Benutzer zu verändern. So können z.B. Spambots oder PN Spammer blockiert werden, die sich meist nur zum Spammen anmelden, aber sonst wenige Beiträge schreiben. Wenn das bei dir kein Problem ist, oder dir die Rechte zu eingeschränkt sind, dann vergib mehr Rechte auch an diese Gruppe oder setze die Beitragsgrenze auf 0.