Passwörter

für die Liste aller Seiten

Autoren (Forgeschritten) und Administratoren


PmWiki bietet von Haus aus die Möglichkeit, verschiedene Bereiche eines Wikis mit einem Passwort zu schützen. Autoren sind je nach Rechte-Vergabe in der Lage, Passwörter für einzelne Seiten oder Wikigruppen zu vergeben. Administratoren können Passwörter für einzelne Seiten, Gruppen oder das komplette Wiki vergeben. Das Setzen eines Bearbeiten-Passwortes auf eine Seite oder eine Gruppe (oder site-weit) ist eine der gebräuchlichsten Wege, Spam zu stoppen. Wie jedes Zugangskontrollsystem trägt der hier beschriebene Passwortschutz nur einen kleinen Teil zur gesamten Wikisicherheit bei.

Als Verfasser arbeiten ...

Ein Verfasser kann generell drei Typen von Passwörtern setzen:

  1. Zur Kontrolle, wer die Seite oder Gruppe sehen darf, benutzt man read-Passwörter.
  2. Zur Kontrolle, wer die Seite oder Gruppe bearbeiten darf, benutzt man edit-Passwörter.
  3. Zur Kontrolle, wer die Passwörter zum Schutz einer Seite oder einer Gruppe ändern darf, benutzt man attr-Passwörter.

Wenn es verlangt wird, können die meisten Seitenaktionen mit einem Passwort geschützt werden.

Einzelne Seite schützen / Schutz aufheben

Um ein Passwort für eine einzelne Seite zu setzen, muss die entsprechende Attribut-Seite aufgerufen werden:

Die Url in der Browser-Zeile wird mit dem Anhang ?action=attr erweitert.

http://www.Beispiel-WEB-Seite.com/pmwiki/pmwiki.php?n=GruppenName.SeitenName?action=attr

Auf der Attributseite können read-, edit-, attr- und/oder upload-Passwörter gesetzt oder mit weiter unten beschriebenen Eingaben, wie clear bzw. @nopass gelöscht oder entsprechend verändert werden.

  • read-Passwort (Wer die Seite lesen darf)
  • edit-Passwort (Wer die Seite bearbeiten darf)
  • attr-Passwort (Wer die Einstellungen der Seite verändern darf)
  • upload-Passwort (Wer auf diese Seite Bilder, etc. hochladen darf)

Die im Klartext eingegebenen Passwörter werden intern von PmWiki automatisch vor dem Speichern verschlüsselt.

Zusätzliche Optionen:

  • Wird ein Eingabefeld leer gelassen, bleibt das Attribut unverändert.
  • Um ein Passwort bei einer Seite zu entfernen (also das Zurücksetzen auf den Standard in der Gruppe oder des gesamten Wikis) gibt man ein:
    clear
  • Damit eine Seite bearbeitet werden kann, obwohl ein Gruppenpasswort oder Gesamtpasswort gesetzt ist, gibt man ein:
    @nopass
  • Um eine Seite für alle bis auf den Administrator zu sperren, gibt man ein:
    @lock
  • Um die site-weiten Passwörter als read-, edit-, attr- oder upload-Passwort für die Seite festzulegen, gibt man im entsprechenden Feld ein:
    @_site_edit, @_site_read, @_site_admin oder @_site_upload,

Ganze Gruppe schützen / Schutz aufheben

Um ein Passwort für eine ganze Wikigruppen zu setzen, muss man Passwörter für eine spezielle Seite in jeder Gruppe setzen, die

genannt wird. Man bekommt Zugriff auf die Attribute, indem man an den Gruppennamen in der Adresszeile des Browsers GroupAttributes?action=attr anhängt.

http://www.Beispiel-WEB-Seite.com/pmwiki/pmwiki.php?n=GruppenName.GroupAttributes?action=attr

Auf der Attributseite GroupAttributes können read-, edit-, attr- und/oder upload-Passwörter gesetzt oder mit weiter unten beschriebenen Eingaben, wie clear bzw. @nopass gelöscht oder entsprechend verändert werden.

  • read-Passwort (Wer in Seiten der Gruppe lesen darf)
  • edit-Passwort (Wer Seiten der Gruppe bearbeiten darf)
  • attr-Passwort (Wer die Einstellungen der Seiten der Gruppe verändern darf)
  • upload-Passwort (Wer in der Gruppe Bilder, etc. hochladen darf)

Die im Klartext eingegebenen Passwörter werden intern von PmWiki automatisch vor dem Speichern verschlüsselt.

Zusätzliche Optionen:

  • Um ein Passwort für eine Gruppe zu entfernen (also das Zurücksetzen auf den Standard des gesamten Wikis) gibt man ein:
    clear
  • Damit eine Gruppe bearbeitet werden kann, obwohl ein Gesamtpasswort gesetzt ist, gibt man ein:
    @nopass
  • Um eine Gruppe für alle bis auf den Administrator zu sperren, gibt man ein:
    @lock
  • (Beginnend mit der Version 2.2.3:) Um den read-, edit- oder attr-Passwörtern ein site-weites Passwort der Wikisite zuzuweisen, gibt man ein:
    @_site_edit, @_site_read, @_site_admin or @_site_upload

Passwörter

Passwörter dürfen aus jeder Kombination von Zeichen bestehen mit Ausnahmen von Anführungszeichen. Passwörter mit Leerzeichen können eingegeben werden, indem man Anführungszeichen benutzt, z. B. "foo bar". Länger ist offensichtlich besser.

Mehrere Passwörter für eine Seite, Gruppe oder Wiki...

...sind möglich. Dazu werden einfach mehrere Passwörter durch Leerzeichen getrennt eingegeben. Damit kann z. B. ein Lese- und ein Schreibpasswort gesetzt werden, wobei das Schreibpasswort gleichzeitig zum Lesen berechtigt.
Mit anderen Worten, wenn das Lesepasswort

alpha

und das Schreibpasswort

beta

sein soll, dann gibt man ein:

read: alpha beta
edit: beta

Damit kann sowohl mit

alpha

als auch mit

beta

eine Seite gelesen werden, aber nur

beta

erlaubt das Bearbeiten. Da PmWiki sich das Passwort seit dem Öffnen des Browserfensters merkt, erlaubt die Eingabe eines Lesepassworts, das auch Schreibpasswort ist, beides.

Die Site schützen

Passwörter können in local/config.php auf die ganze Wikiwebsite angewendet werden. Siehe Verwalten der Passwörter wegen Details.

Als Administrator ...

...können Sie Passwörter für Seiten und Gruppen wie oben für die Verfasser beschrieben setzen. Darüber hinaus können Sie aber auch

  • ein wikiweites Passwort für Seiten und Gruppen setzen, die selbst kein Passwort besitzen,
  • mit attr-Passwörtern steuern, wer Passwörter für Seiten setzen darf,
  • mit upload-Passwörtern steuern, wer Dateien hochladen darf (falls aktiviert),
  • mit dem admin-Passwort ein jedes Passwort für einzelne Seiten oder Gruppen überschreiben (auch außer Kraft setzen),
  • mit AuthList ansehen, welche Rechte Seiten haben, in denen Passwörter gesetzt sind.

Weiterführendes auf der Seite Administratorpasswörter.

Welches Passwort hat Vorrang?

  • Seitenpasswörter heben Standard- und Gruppenpasswörter auf.
  • Gruppenpasswörter heben das Standardpasswort auf.
  • Das admin-Passwort hebt alle anderen Passwörter auf.

Somit ist eine große Flexibilität bei der Zugangssteuerung der Wikiseiten mit PmWiki möglich. Die Besondere Seiten Liste der Berechtigungen listet alle Seiten auf, in denen Zugriffe durch Passwörter eingeschränkt werden.

Zugang zu einzelnen Seiten in geschützten Gruppen/Wikis erlauben

Manchmal möchte man einzelne Seiten freigeben, obwohl sie sich in einer geschützten Gruppe oder Wiki befinden. In diesem Fall ist die Eingabe

@nopass

(kein Passwort) zu verwenden, um anzuzeigen, dass ein Zugriff ohne Passwort möglich sein soll.

Beispiel:

Für die Gruppe Main ( Main.GroupAttributes ) ist ein Bearbeiten-(edit)-Passwort gesetzt worden. Damit wird das Bearbeiten aller Seiten der Gruppe Main eingeschränkt. Nun möchten wir aber jedem das Bearbeiten der Main.WikiSandbox erlauben.

Die edit-Eingabe

clear

auf der AttributSeite ( ...Main.WikiSandbox?action=attr ) hebt den Schutz nicht auf, weil das Passwort auf Gruppenebene vergeben wurde. Statt dessen wird die Eingabe

@nopass

verwendet. Mit dieser Eingabe wird PmWiki angewiesen, alle wiki- oder gruppenweiten Passwörter diese Seite betreffend zu ignorieren.

Weitere PmWiki-Seiten zum Thema

Wie kann ich alle Seiten und Gruppen meiner Site mit einem Passwort schützen? Muss ich wirklich die Passwörter Seite für Seite setzen?

Administratoren können Passwörter für die gesamte Site setzen, indem sie die config.php-Datei bearbeiten. Sie müssen nicht für jede Seite oder Gruppe Passwörter setzen. Um zum Beispiel die gesamte Site für Jene bearbeitbar zu machen, die ein 'edit'-Passwort kennen, kann ein Administrator das Folgende zur local/config.php hinzufügen:

    $DefaultPasswords['edit'] = pmcrypt('edit_password');

Wegen weiterer Informationen über die Passwortoptionen, die nur für Administratoren verfügbar sind, siehe Passwörter verwalten.

Ich bekomme einen http error 500 "Internal Server Error", wenn ich versuche, mich einzuloggen. Was ist falsch?

Das kann passieren, wenn das verschlüsselte Passwort nicht auf dem Server erzeugt wird, auf dem PmWiki gehostet wird.
Die crypt-Funktion hat sich während der Entwicklung von PHP geändert, d. h. dass ein Passwort, das mit PHP 5.2 verschlüsselt wurde, nicht mit PHP 5.1 entschlüsselt werden kann, aber PHP 5.2 kann Passwörter entschlüsseln, die mit PHP 5.1 verschlüsselt wurden.
Diese Situation passiert normalerweise, wenn Sie Alles auf Ihrem lokalen Rechner mit der letzten PHP-Version vorbereitet haben und Sie die Passwörter auf einen Webserver hochladen, der mit einer älteren Version läuft.
Der gleiche Fehler tritt auf, wenn Sie verschlüsselte Passwörter in die local/config.php einfügen.

Lösung: Erzeugen Sie die Passwörter auf dem System mit der ältesten PHP-Version und benutzen Sie sie auf allen anderen Systemen.

Wie kann ich private Gruppen für Benutzer erstellen, so dass jeder Benutzer die Seiten seiner Gruppe bearbeiten kann, aber niemand sonst (außer dem Administrator) kann es?

Administratoren können das AuthUser-Rezept benutzen und die wenigen, folgenden Zeilen in ihre local/config.php-Datei einfügen, um das aufzusetzen:

    $group = FmtPageName('$Group', $pagename); 
$DefaultPasswords['edit'] = 'id:'.$group;
include_once("$FarmD/scripts/authuser.php");

Das gibt automatisch jedem Benutzer Bearbeiten-Rechte, dessen Benutzername der gleiche ist wie der Gruppenname.

Wie kommt es, dass wenn ich von einem Wiki in ein anderes wechsele, ich meine Autorisierung behalte?

PmWiki benutzt Sessions, um die Authentifizierung/Autorisierung im Auge zu behalten. Die Standardeinstellungen bewirken in PmWiki, dass Interaktionen mit dem gleichen Server als Teil der gleichen Session angesehen werden.

Ein einfacher Weg, das zu lösen, ist sicher zu gehen, dass jedes Wiki einen individuellen Cookienamen für seine Sessions benutzt. Weit oben in den jeweiligen local/config.php-Dateien, bevor authuser.php oder andere Rezepte aufgerufen werden, schreibt man:

    session_name('XYZSESSID');

Sie können sich einen alphanumerischen Namen für XYZSESSID ausdenken, zum Beispiel für das cs559-1-Wiki wählen Sie:

    session_name('CS559SESSID');

Damit werden die beiden Sessions auseinandergehalten.

Ist es möglich, die Passwortebene zum Anzeigen und/oder if-Bedingungen zu verwenden? Beispiel:

  * (:if WriterPassword:) (display Edit link) (:ifend:) 

Sie können (:if auth edit:) verwenden. Siehe Bedingte Auszeichnung. für die Liste aller Seiten


Übersetzung von PmWiki.Passwords,   Originalseite auf PmWikiDe.Passwords   —   Rückverweise

Zuletzt geändert:   PmWikiDe.Passwordsam 22.11.2016
 PmWiki.Passwordsam 26.04.2015