Geschlossenes Mediawiki
![]() |
Ein Mediawiki im Intranet muss unter Umständen abgeriegelt und ausschliesslich einer geschlossenen Benutzergruppe zugänglich gemacht werden. Wenn man wissen will, welcher Benutzer welche Wikiseite bearbeitet hat, reichen leider die schönen Basic-Authentication Features von Apache nicht aus. Damit Mediawiki alle zur Anmeldung zwingt muss die Datei LocalSettings.php folgendermassen ergänzt werden: |
############## Handmade ################
# Specify who can edit: true means only logged in users may edit pages
$wgGroupPermissions['*' ]['createaccount'] = false;
$wgGroupPermissions['*' ]['edit'] = false;
$wgGroupPermissions['*' ]['read'] = false;
$wgGroupPermissions['sysop']['createaccount'] = true;
$wgGroupPermissions['user' ]['edit'] = true;
$wgGroupPermissions['user' ]['read'] = true;
# Logo
$wgLogo = "/images/bbbq.gif";
# Pages anonymous (not-logged-in) users may see
$wgWhitelistRead = array ("Spezial:Userlogin", "Wikipedia:Help");
# Specify who can edit: true means only logged in users may edit pages
$wgGroupPermissions['*' ]['createaccount'] = false;
$wgGroupPermissions['*' ]['edit'] = false;
$wgGroupPermissions['*' ]['read'] = false;
$wgGroupPermissions['sysop']['createaccount'] = true;
$wgGroupPermissions['user' ]['edit'] = true;
$wgGroupPermissions['user' ]['read'] = true;
# Logo
$wgLogo = "/images/bbbq.gif";
# Pages anonymous (not-logged-in) users may see
$wgWhitelistRead = array ("Spezial:Userlogin", "Wikipedia:Help");
Benutzer
Am Einfachsten ist sicher das Kopieren eines bestehenden Users (eventuell in MySQL). Dabei müssen user_id unduser_name eindeutig sein. Normalerweise braucht es keine weiteren Rechtemanipulationen. Sollen die Benutzer trotzdem gewissen Gruppen zugeteilt werden, gibt die Mediawiki-Dokumentation Auskunft über die Rechte und die Zuteilung zu Gruppen.
Passworte
In Mediawiki 1.10 ist die Passwortverschlüsselung in der Funktion includes/GlobalFunctions.php definiert:
$wgPasswordSalt kann in LocalSettings.php umdefiniert werden, aber normalerweise ist es in includes/DefaultSettings.php auf true gesetzt. $userid ist die user_id aus der Tabelle user.
Das Passwort kann mit php ausgegeben werden (angenommen für user mit id 15):
Oder direkt in Mysql:
UPDATE bi_user SET user_password=md5(concat(user_id,'-',md5('PASSWORT'))) WHERE user_id=15;
Pingback: links for 2009-03-27 « /home/servrrockr
Pingback: Gesch
Super! Danke für diesen Beitrag. Das muss einfach mal gesagt werden, denn anscheinend macht das sonst keiner 🙂
Hey super schematische Kurzzusammenfassung!
… das wird doch gleich mal ausprobiert.
Auch wenn der Beitrag schon etwas älter ist, hat mir sehr geholfen Danke.