Admin-Nutzer umbenennen unter MultiSite

Wenn man unter einer MultiSite-Installation von WordPress den Admin-Nutzer umbenennt, muss man noch etwas beachten, wie ich eben auf die harte Weise herausfand. Nach dieser Aktion fehlten mir nämlich plötzlich die Super-Admin-Rechte und damit der Zugang zur Netzwerk-Administration und zu den Plugin-Seiten.

Warum würde man überhaupt den Nutzer umbenennen wollen? Seit einigen Wochen versucht bekanntermaßen ein Bot-Netz mit Brute-Force-Attacken WordPress-Seiten zu kompromittieren. Einer der Haupt-Tips neben dem Einsatz von Plugins wie Limit Login Attempts und der Verwendung eines hinreichend komplexen (und zufälligen!) Passwortes ist es, den Namen des Admin-Nutzers zu ändern. Von Haus aus installiert sich WordPress mit dem Nutzer „admin“, und das Gros der Angriffsversuche geht wohl auch auf diesen Nutzernamen. Den Nutzer umzubenennen ist natürlich „Security by Obscurity“. Andererseits: Wenn man 80% der Angriffsversuche dadurch entschärfen kann, dass man den Admin-Nutzer umbenennt, dann ist das ja auch schon mal was. Also habe ich mich vor einigen Tagen daran gemacht, hier tatsächlich mal den Nutzer umzubenennen.

Im Netz gibt es nun verschiedene Anleitungen für das Umbenennen des Nutzers. Wer sich mit Datenbanken nicht so gut auskennt, tut gut daran, dafür ein Plugin zu bemühen. Software-Entwickler, der ich bin, habe ich das natürlich auf die harte Tour gemacht und den Nutzer einfach in der wp_users-Tabelle umbenannt (Spalte „user_login“). Der Login klappte danach mit dem neuen User auf Anhieb. Dann noch dem Browser beigebracht, sich das alte Passwort für einen neuen Nutzernamen zu merken, und fertig. Erst nach ein paar Tagen fiel mir auf, dass es keine Plugin-Seite mehr im Menü gibt. Und überhaupt, wo ist die Netzwerk-Adminseite hin? Jawohl, das Umbenennen des Nutzers hat mich zu einem „normalen“ Administrator-Nutzer heruntergestuft, der in einer MultiSite-Installation nicht so viele Rechte hat wie ein Super-Admin.

site_admins-Option

Des Rätsels Lösung fand sich nach etwas Wühlen im Quelltext: Es gibt eine Einstellung, in der die Logins der Netzwerk-Administratoren stehen. Wieso da nicht die ID steht sondern der Login erschließt sich mir nicht. Mit der begrenzten Anzahl an Tabellen kann ja WordPress sowieso schon keine relationale Beziehung zwischen Usern und Seiten herstellen. Dann aber statt der ID den Login zu speichern, ist echt eine komische Idee.

Beheben lässt sich das Problem nun, indem man den Key „site_admins“ in der wp_sitemeta-Tabelle heraussucht und dort den Admin-Namen anpasst. Achtung! Der String ist serialisiert, das heißt er enthält die Länge des Strings, welche ebenfalls angepasst werden muss. Beispiel: Nach der Umbenennung von „admin“ zu „johndoe“ muss der Wert so hier geändert werden:

-- vorher:
a:1:{i:0;s:5:"admin";}
-- nachher:
a:1:{i:0;s:7:"johndoe";}

Einer der gängigsten Tips ist es übrigens, einfach einen neuen Nutzer anzulegen, ihm alle Rechte einzuräumen und dann den Original-Admin-Nutzer zu löschen. Das kam mir zu kompliziert vor, aber das muss jeder für sich entscheiden. Sucht euch auf jeden Fall für diese Aktion eine brauchbare Anleitung heraus und macht vorher ein Backup!

3 Gedanken zu „Admin-Nutzer umbenennen unter MultiSite

  1. Ich war faul und habe mir ein Plugin zum Umbenennen des Admins installiert, glaube es hieß auch Admin Rename. Da ich nur ein einzelnes Blog betreibe, gab es dabei keine Schwierigkeiten.
    Das Einrichten eines neuen Nutzers kam mir auch in den Sinn, allerdings wusste ich nicht, ob beim Löschen des alten nutzers dann alle bisherigen blogposts verloren gehen. Man hätte um sicher zu gehen natürlich dem alten Admin auch einfach nur ein niedrigeres Nutzerlevel geben können.

  2. Vielen Dank, das war’s !
    Habe ewig gesucht…
    Hatte schon gedacht, dass schon wieder Hacker am Werk waren.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte beachte die Kommentarregeln: 1) Kein Spam, und bitte höflich bleiben. 2) Ins Namensfeld gehört ein Name. Gerne ein Pseudonym, aber bitte keine Keywords. 3) Keine kommerziellen Links, außer es hat Bezug zum Beitrag. mehr Details...

So, noch mal kurz drüber schauen und dann nichts wie ab damit. Vielen Dank fürs Kommentieren! :-)