aus "Homepage der UniBigBand Kaiserslautern"

PmWikiDe: Administratorpasswörter

PmWiki hat einen eingebauten Passwortschutz für verschiedene Bereiche der Wikiwebsite. Passwörter können auf Einzelseiten, auf WikiGroup oder die gesamte Website angewendet werden. Das hier beschriebene Passwortschutz-System ist nur ein kleiner Ausschnitt des kompletten Sicherheitssystems. Weitere Informationen dazu finden sich auf der Seite Sicherheit.

Autoren können PmWiki, wie in Passwörter beschrieben, dazu benutzen um an Einzelseiten und Wikigruppen Passwörter anzuhängen. Der/die WikiAdministrator(en) können jedenfalls auch Passwörter in den Dateien für lokale Anpassung(en) festlegen, so wie weiter unten beschrieben.

PmWiki unterstützt verschiedene Zugangsstufen zu Wikiseiten:

read Passwörter erlauben das Anschauen der Inhalte von Wikiseiten
edit Passwörter kontrollieren das Bearbeiten und Verändern von Wikiseiten
attr Passwörter kontrollieren, wer Passwörter auf Seiten überhaupt setzen darf (und übt somit Kontrolle über künftig in PmWiki bereit gestellte Eigenschaften aus)
wenn das Hochladen von Dateien generell ermöglicht worden ist, so kontrollieren upload Passwörter das Hochladen von Dateien und Anhängen

Zum Schluß gibt es noch das admin Passwort, welches es einem Administrator erlaubt Passwörter jeder Einzelseite oder Gruppen außer Kraft zu setzen.

Seiten haben ihre Passwörter als "Seiteneigenschaften", welche mittels Anhängen an die URL von ?action=attr zugänglich gemacht werden. Passwörter für Gruppen stehen auf einer besonderen, für jede Gruppe existierenden, auch "GroupAttributes" genannten Seite. Globale der Website übergreifende Passwörter werden vom $DefaultPasswords Array (Datenfeld) aus gesteuert. Alle Passwörter werden in einem verschlüsselten Format gespeichert, so daß andere Benutzer auf dem Sytem befindliche Dateien, die eines Passworts bedürfen, nicht durch einfaches Browsen oder Erstöbern erreicht werden können.

Per Voreinstellung ist $DefaultPasswords mit leeren (also ohne) read, edit, und attr Passwörtern eingestellt. Dazu haben, nach Auslieferung, die Main.GroupAttributes und PmWiki.GroupAttributes gesperrte attr Passwörter, um Autoren daran zu hindern Passwörter auf Seiten in diesen Gruppen zu setzen. (Um diese Passwörter zu verändern, wird Main.GroupAttributes?action=attr oder PmWiki.GroupAttributes?action=attr gebraucht.)

Um das websiteweite Administrator-Passwort auf "mysecret" zu definieren kann der Administrator die folgende Zeile in die Datei config.php setzen:

    $DefaultPasswords['admin'] = crypt('mysecret');

So wie es hier steht würde jeder natürlich, der in der Lage ist config.php einzusehen sofort das Passwort der Website wissen, deswegen möchten es auch einige Websites verschlüsselt in der config.php Datei haben. Füge ?action=crypt an das Ende irgendeiner PmWiki URL (oder spring gleich zu PasswordsAdmin?action=crypt) um anschliessend mit einem Formular konfrontiert zu werden, welches die verschlüsselte Form des Passwortes wiedergibt. Wenn zum Beispiel der crypt Verarbeitung das Passwort "mysecret" übergegeben wird, übermittelt PmWiki eine Zeichenfolge zurück, die etwa so aussieht

    $1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1

(kann auf einzelnen Systemen anders aussehen). Diese Zeichenfolge kann dann so direkt in die config.php gesetzt werden:

    
    $DefaultPasswords['admin'] = '$1$hMMhCdfT$mZSCh.BJOidMRn4SOUUSi1';  
    

Dabei werden in der verschlüsselten Form das crypt Schlagwort und die runden Klammern entfernt. Auch das verschlüsselte Passwort muß in einzelnen Quotenzeichen stehen. In diesem Beispiel ist das Passwort immer noch "mysecret", doch wird jemand, der sich config.php anguckt nicht vom bloßen Anschauen, des verschlüsselten Zustandes auf das Passwort schliessen können. Crypt kann Dir verschiedene Verschlüsselungen des gleichen Passwortes geben -- so etwas ist normal (und macht es schwerer von jemand anderen das ursprüngliche Passwort herauszufinden).

Auf diese Art $DefaultPasswords['read'], $DefaultPasswords['edit'], und $DefaultPasswords['attr'] können die voreingestellten Passwörter read, edit, und attr für die ganze Website definiert werden. Die voreingestellten Passwörter werden nur für Seiten und Gruppen gebraucht, für die keine Passwörter gesetzt worden sind. Auch kann jeder der $DefaultPasswords Werte ein Array oder ein verschlüsseltes Passwort sein.

Um ein Website Passwort vollständig zu entfernen, so wie es beim voreingestellten Passwort für das Hochladen von Dateien (Uploads) gemacht wird, wird es einfach leer gesetzt:

    $DefaultPasswords['upload'] = '';

In PmWiki überschreiben Seitenpasswörter die Passwörter für Gruppen, Passwörter für Gruppen überschreiben die voreingestellten Passwörter und das Administratorpasswort ist immer erlaubt. Dadurch wird ein hoher Grad an Flexibilität für die Zugangskontrolle zu Wikiseiten gewährleistet .

Es kann auch das Sonderpasswort "nopass" (wird in der $AllowPassword Variablen festgelegt) mittels ?action=attr gesetzt werden. Dadurch wird eine nicht passwortgeschützte Seite in einer passwortgeschützten Gruppe erstellt oder eine nicht passwortgeschützte Gruppe innerhalb einer von passwortgeschützten Website.

Seiten- oder Gruppenpasswörter können auch direkt im Wiki per ?action=attr festgelegt werden. Dies wird auf der Seite Passwörter erklärt.

<< E-Mail Nachricht bei geänderten Seiten (neu) | Dokumentationsindex | Auffinden von verwaisten und fehlenden Seiten >>

URL: http://www.uni-kl.de/bigband/pmwiki.php/PmWikiDe/PasswordsAdmin
Zuletzt geändert am 25.03.2008 21:11 Uhr