Passwörter
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:
- Zur Kontrolle, wer die Seite oder Gruppe sehen darf, benutzt man
read
-Passwörter. - Zur Kontrolle, wer die Seite oder Gruppe bearbeiten darf, benutzt man
edit
-Passwörter. - 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:
Der Url in der Browser-Zeile wird mit dem Anhang ?action=attr
erweitert.
https://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
-,upload
- oderattr
-Passwort für die Seite festzulegen, gibt man im entsprechenden Feld ein:@_site_read
,@_site_edit
,@_site_upload
oder@_site_attr
.
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.
https://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 für die ganze Gruppe 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
-,upload
- oderattr
-Passwörtern ein site-weites Passwort der Wikisite zuzuweisen, gibt man ein:@_site_read
,@_site_edit
,@_site_upload
oder@_site_attr
.
Passwörter
Passwörter dürfen aus jeder Kombination von Zeichen bestehen mit Ausnahmen von doppelten Anführungszeichen. Passwörter mit Leerzeichen müssen eingegeben werden, indem man Anführungszeichen benutzt, z. B. "foo bar" oder "foo:bar". Länger ist offensichtlich besser.
Mehrere Passwörter
Mehrere Passwörter für eine Seite, eine Gruppe oder eine Site sind erlaubt. Geben Sie einfache mehrere Passwörter ein, getrennt durch Leerzeichen. Das erlaubt Ihnen, ein Lesepasswort und ein Schreibpasswort zu haben, und mit dem Schreibpasswort auch das Lesen zu erlauben. 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 der local/config.php
-Datei 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 SiteAdmin.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 Seite AuthList 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
FAQ
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
-Datei 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 PHP-Funktion crypt() 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
-Datei 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 und ohne besondere Einstellungen setzt PHP voraus, dass alle Interaktionen mit einem Server zur gleichen Session gehören.
Für Sicherheitsbelange über geteilte Sitzungspools siehe das Kapitel "Session injection" in Cookbook:SessionSecurityAdvice (englisch).
Ein einfacher Weg, das zu lösen, ist sicher zu gehen, dass jedes Wiki einen individuellen Cookienamen für seine Sitzungen benutzt. Weit oben in den jeweiligen local/config.php
-Dateien, bevor authuser.php
oder andere Rezepte aufgerufen werden, schreibt man:
Sie können sich einen alphanumerischen Namen für XYZSESSID ausdenken, zum Beispiel für das cs559-1
-Wiki wählen Sie:
Damit werden die beiden Sitzungs-Cookies auseinander gehalten.
Ist es möglich, die Passwortebene zum Anzeigen und/oder für if-Bedingungen zu verwenden? Beispiel: * (:if WriterPassword:) (display Edit link) (:ifend:)
Sie können (:if auth edit:)
verwenden. Siehe Bedingte Auszeichnung.
Kann ich (:if …:)
benutzen, um Geheimnisse in einer Wikiseite zu verbergen?
Das können Sie, es ist aber gewöhnlich nicht sicher.
Die empfohlene Strategie ist, Geheimnisse in eine gesonderte Seite einzufügen und alle lese-bezogenen1 Zugriffe auf diese Seite auf solche Benutzer zu beschränken, die dieses Geheimnis teilen dürfen. Um das Geheimnis in einer anderen Seite zu zeigen, können Sie Teile der geheimen Seite oder die ganze Seite in diese andere Seite einfügen.
Benutzer mit Leseberechtigung des Geheimnisses sehen den Text, wohingegen andere nichts sehen – oder nach Ihrer Wahl einen anderen Text, z. B. einen Anmelden-Verweis.
- 1 Zur Zeit (version 2.2.99) sind das:
read
(erlaubt das Einfügen),edit
(zeigt den Quelltext),attr
(erlaubt den Zugriff auf die Lese-/Schreibberechtigung),diff
(zeigt alle Änderungen an),source
(zeigt den Quelltext).
Der Grund, warum Bedingte Auszeichnung nicht für Zugriffskontrolle zu gebrauchen ist, ist, dass es nur für die Anzeige des Quelltextes als Webseite gedacht ist, und das ist halt nur einer von vielen Wegen, um auf den Seitentext zuzugreifen.
Um bedingte Auszeichnungen verlässlich für den Schutz von Geheimnissen einzusetzen, müssen alle Zugriffsmethoden, die diesen Weg umgehen könnten, ausgeschlossen werden.
Um das zu erreichen, müssen Sie alle sich bietenden Möglichkeiten im Auge behalten.
In der Standardinstallation von PmWiki enthalten die einfachen Methoden: Bearbeiten einer Seite, Einsehen der Versionen oder des Quelltextes sowie das Einfügen von Teilen der Seite in der (Bearbeiten-) Vorschau einer anderen Seite (Vorschau verhindert Spuren in den Aktuellen Änderungen
zu hinterlassen).
Im Übrigen ist diese Liste bei Weitem nicht erschöpft und kann durch Rezepte? oder zukünftige Versionen von PmWiki noch wachsen.
Übersetzung von PmWiki.Passwords, Originalseite auf PmWikiDe.Passwords — Retroenlaces
Zuletzt geändert: | PmWikiDe.Passwords | am 26.02.2023 |
PmWiki.Passwords | am 25.02.2023 |