Kategorien

Suchen


Aktuelle Artikel

Archiv


« | Startseite | »

WordPress: “Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen”

Jockel | 13.07.2010

Nach dem Kopieren oder Update Ihrer WordPress (WP) Installation erhalten Sie eine der beiden folgenden Meldungen nach der Anmeldung im Backend (wp-admin):

Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen.
Sie haben nicht ausreichend Rechte, um auf diese Seite zuzugreifen.

Diese Fehlermeldung zeigt an, dass das WP Backend (Adminbereich) Ihre Anmeldung nicht richtig zuordnen kann. Die Gründe für diese Sperre können vielfältig sein. In der folgenden Übersicht möchten wir Ihnen die Lösung für die häufigsten Sperren zeigen:

Versuchen Sie, Ihre Datenbank durch das “force-upgrade.php” Script zu aktualisieren. Dafür wird die Datei einfach in das Hauptverzeichnis Ihres Webservers kopiert und dann per Browser aufgerufen. Anschließend sollte die Datei dringend wieder gelöscht werden – nur dann kann niemand anderes ebenfalls diese Aktion ausführen. Dieser Schritt sollte fast alle vorhandenen Datenbankprobleme beseitigen. Zudem ist diese Methode wesentlich effizienter und sicherer als das manuelle Zurücksetzen der Versionsnummer / Versionsinformationen in der Datenbank.

Überprüfen Sie, ob die Zeile

require_once(ABSPATH . 'wp-settings.php');

ganz unten steht. Wichtig ist auch, dass die Information

define('SECRET_KEY', 'xyz...abc');

(logischerweise) oberhalb der Zeile stehen.

Es ist nicht ausreichend, die Datei “wp-config.php” anzupassen und in der Datenbank den Tabellenprefix zu ändern. In der WordPress-Datenbank sind Datensätze gespeichert, welche den alten (originalen) Tabellenpräfix darstellen. Diese Einträge müssen also ebenfalls abgepasst werden. Bei normalen Installationen von WordPress sind die folgenden Befehle für die Tabellen “wp_options” und “wp_usermeta” ausreichend:

1
2
UPDATE neuesPrefix_options SET option_name = REPLACE(option_name, 'altesPrefix_', 'neuesPrefix_');
UPDATE neuesPrefix_usermeta SET meta_key = REPLACE(meta_key, 'altesPrefix_', 'neuesPrefix_');

Bei Standardinstallationen sollten keine weiteren Einträge zum Prefix vorhanden sein. Sollten Sie jedoch weitere Datensätze finden, ändern Sie diese entsprechend ab und schreiben Sie uns gerne einen Kommentar zu diesem Artikel. Wir werden Ihre Hilfe dann für die nächsten Besucher einarbeiten.

Sollte die Einstellung / Option “prefix_user_roles” verändert ist. Die Details dieser Option werden in einem sog. “serialisiertes Array” abgelegt. Dabei kann es scheinbar passieren, dass sich die einzelnen Informationen (Daten) so verändern, dass PHP das richtige Array mit den Einzeldaten nicht mehr richtig entschlüsseln kann. Dadurch hat Ihr WordPress dann natürlich keine Möglichkeit mehr, auf diese Einstellungen zuzugreifen. Die Folge ist, dass (sicherheitshalber) alle Benutzer ausgesperrt sind.
Sie können durch einen einfache PHP-Datei schnell prüfen, ob dieses Problem bei Ihnen zutrifft:

Das kurze PHP-Script prüft, ob die Option “user_roles” bei Ihrer WordPress richtig gelesen werden kann. Sollte dabei irgendein Problem auftreten (Sie erhalten die Anzeige “Die Option ‘xyz_user_roles’ ist defekt.”), sollten Sie sicherheitshalber die gesamte Option neu setzen. Zwar gehen Ihnen dadurch alte Einstellungen verloren und müssen dann neu gesetzt werden, aber solange Sie Ihre Benutzerberechtigungen nicht verändert haben, sollte es keine Probleme geben.
Sie können die einzelnen Werte entweder direkt durch phpMyAdmin setzen oder Sie nutzen das folgende Script:

1
2
3
4
5
6
<?php
$val = 'a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:54:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}';
include("wp-config.php");
global $wpdb;
set_option($wpdb->prefix."user_roles", $val);
?>

Den Wert noch einmal als reinen String (Zeichenkette) für die direkte phpMyAdmin Eingabe. Der folgende Text ist eine Zeile:

a:5:{s:13:"administrator";a:2:{s:4:"name";s:13:"Administrator";s:12:"capabilities";a:54:{s:13:"switch_themes";b:1;s:11:"edit_themes";b:1;s:16:"activate_plugins";b:1;s:12:"edit_plugins";b:1;s:10:"edit_users";b:1;s:10:"edit_files";b:1;s:14:"manage_options";b:1;s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:6:"import";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:8:"level_10";b:1;s:7:"level_9";b:1;s:7:"level_8";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;s:12:"delete_users";b:1;s:12:"create_users";b:1;s:17:"unfiltered_upload";b:1;s:14:"edit_dashboard";b:1;s:14:"update_plugins";b:1;s:14:"delete_plugins";b:1;s:15:"install_plugins";b:1;s:13:"update_themes";b:1;s:14:"install_themes";b:1;}}s:6:"editor";a:2:{s:4:"name";s:6:"Editor";s:12:"capabilities";a:34:{s:17:"moderate_comments";b:1;s:17:"manage_categories";b:1;s:12:"manage_links";b:1;s:12:"upload_files";b:1;s:15:"unfiltered_html";b:1;s:10:"edit_posts";b:1;s:17:"edit_others_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:10:"edit_pages";b:1;s:4:"read";b:1;s:7:"level_7";b:1;s:7:"level_6";b:1;s:7:"level_5";b:1;s:7:"level_4";b:1;s:7:"level_3";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:17:"edit_others_pages";b:1;s:20:"edit_published_pages";b:1;s:13:"publish_pages";b:1;s:12:"delete_pages";b:1;s:19:"delete_others_pages";b:1;s:22:"delete_published_pages";b:1;s:12:"delete_posts";b:1;s:19:"delete_others_posts";b:1;s:22:"delete_published_posts";b:1;s:20:"delete_private_posts";b:1;s:18:"edit_private_posts";b:1;s:18:"read_private_posts";b:1;s:20:"delete_private_pages";b:1;s:18:"edit_private_pages";b:1;s:18:"read_private_pages";b:1;}}s:6:"author";a:2:{s:4:"name";s:6:"Author";s:12:"capabilities";a:10:{s:12:"upload_files";b:1;s:10:"edit_posts";b:1;s:20:"edit_published_posts";b:1;s:13:"publish_posts";b:1;s:4:"read";b:1;s:7:"level_2";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;s:22:"delete_published_posts";b:1;}}s:11:"contributor";a:2:{s:4:"name";s:11:"Contributor";s:12:"capabilities";a:5:{s:10:"edit_posts";b:1;s:4:"read";b:1;s:7:"level_1";b:1;s:7:"level_0";b:1;s:12:"delete_posts";b:1;}}s:10:"subscriber";a:2:{s:4:"name";s:10:"Subscriber";s:12:"capabilities";a:2:{s:4:"read";b:1;s:7:"level_0";b:1;}}}

Kategorie: Anleitungen, Sicherheit, WordPress | 2 Kommentare »

2 Antworten auf “WordPress: “Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen””

  1. WordPress: mein Artikel in der c't extra 01/2010 – Webdesign | perun.net meint:
    20.07.2010 um 13:55

    [...] Weitere Infos, unter anderem auch zu diesen beiden Aufrufen findet man im folgenden Artikel: WordPress: "Du hast nicht ausreichend Rechte, um auf diese Seite zuzugreifen" [...]

  2. Juergen meint:
    09.08.2010 um 17:00

    Danke für den Hinweis, dass man in den Tabellen _optios und _usermeta noch einige Werte ändern muss, wenn man nachträglich die Präfixe ändert.
    Ich wäre heute noch was verrückt geworden.

Kommentare