Kurs "WordPress: Pierwsze kroki" (bezpłatna lekcja)

Jedną z pierwszych czynności jaką wykonuje w przypadku chyba każdej strony opartej o WordPressa, która trafia pod moja opiekę (stałą, czy tylko w ramach konkretnego zadania czy konsultacji) jest sprawdzenie nazwy użytkownika konta administratora i w razie konieczności – zmiana.

Wbrew temu co czasem przeczytacie na rożnych formach, użytkownik „admin” nie jest jakąś nadzwyczajną zbrodnią, choć na pewno zmiana nazwy na inną znacznie pozwala podnieść poziom bezpieczeństwa strony (jako jeden z wielu elementów, a nie ten jeden jedyny).

WordPress z administratorem, ale bez admina

W przypadku nowych wersji WordPressa już na etapie instalacji możemy wybrać własną nazwę dla użytkownika, który automatycznie jest pierwszym administratorem:

Pewien problem zaczyna się w sytuacji, gdy naszą stronę uruchamialiśmy jeszcze w czasach, gdy WordPress podczas instalacji nie pozwalał na taki wybór, a automatycznie narzucał nazwę „admin”, lub gdy (nie)świadomie sami wybraliśmy taką nazwę dla naszego użytkownika podczas instalacji. Czemu nie można dodać opcji, by taka zmiana była możliwa również w późniejszym etapie – nie wiem, ale pewnie jakiś powód jest, choć ja go nie dostrzegam.

Oczywiście możecie chcieć zmienić swoją nazwę użytkownika nie tylko z tego powodu – być może już korzystacie z innej nazwy (rozsądnie), ale np. znudziła się Wam… ;-)

Niezależnie od przyczyny/powodu – nic nie stoi na przeszkodzie by dokonać odpowiedniej zmiany, choć będzie to wymagać od nas kilka kliknięć, lub odrobinę wiedzy (zależnie od wybranej metody).

Nowy użytkownik za(miast) starego

Teoretycznie najprostsza metoda, to stworzenie nowego użytkownika, zalogowanie się na niego i skasowanie starego konta.

WordPress w tej sytuacji zapyta co zrobić z treścią której autorem jest dany użytkownik – wystarczy wybrać by przypisał całą treść do naszego nowego użytkownika:

wordpress_zmiana-nazwy-uzytkownika_nowy-uzytkownik

I choć wydaje się, że to najszybsza i najprostsza metoda, to ja do niej podchodzę dość sceptycznie, ale być może to tylko niepotrzebne uprzedzenie… ;-)

Wtyczka, co (całą) robotę wykona za nas

Kolejna metoda, niekoniecznie bardziej skomplikowana niż „podmiana użytkownika”, to instalacja jakiejś wtyczki, która w prosty sposób – za pomocą kilku kliknięć – zrobi to za nas.

Nie będę podawał żadnych konkretnych wtyczek, gdyż z żadnej tego typu wtyczki jeszcze nie korzystałem – sam preferuje bezpośrednią zmianę w bazie danych, o czym będzie za chwilę.

Ale wystarczy, że w wyszukiwarce wtyczek (pluginów) wpiszecie choćby:

  • Username
  • Username Changer

Zmiana nazwy użytkownika z poziomu phpMyAdmin

W przypadku hostingów współdzielonych, zazwyczaj Wasz panel to cPanel lub DirectAdmin, a w nich – jeśli administrator nie wpadł na jakiś dziwny pomysł – do dyspozycji macie phpMyAdmin (ale już np. w przypadku serwerów VPS może być konieczne doinstalowanie), za pomocą którego w (relatywnie) prosty sposób możecie dokonać odpowiedniej zmiany.

Po zalogowaniu do phpMyAdmin należy wybrać odpowiednią bazę danych (gdy jest więcej niż jedna) i w niej odszukać tabelę „wp_users”, a tam konkretnego użytkownika (np. admin), którego wystarczy zedytować:

wordpress_zmiana-nazwy-uzytkownika_phpmyadmin

Pole które nas interesuje to „user_login”, i to w nim należy wpisać nową nazwę użytkownika (bez spacji, polskich znaków).

Możecie też skorzystać z gotowego zapytania/polecenia MySQL:

UPDATE `NAZWA_BAZY_DANYCH`.`wp_users` SET `user_login` = 'NOWA_NAZWA_UŻYTKOWNIKA' WHERE `wp_users`.`ID` =ID_UŻYTKOWNIKA;

Tylko pamiętajcie, by pogrubione elementy zamienić na własne.

ID użytkownika pozyskacie przeglądając bazę danych za pomocą phpMyAdmin, lub bezpośrednio z WordPressa – wartość ID znajduje się choćby w linku profilu użytkownika:

https://webinsider.pl/wp-admin/user-edit.php?user_id=7&wp_http_referer=%2Fwp-admin%2Fusers.php

A dokładnie pogrubiony fragment, czyli „user_id=7” – nasze ID użytkownika to „7”.

Zmiana nazwy użytkownika z poziomu konsoli/skryptu BASH

Jeśli korzystacie np. z serwera VPS (lub hostingu współdzielonego z dostępem do SSH) to macie też dostęp do konsoli, czyli wiersza poleceń.

Kilka dni temu opisałem, jak wykonać zapytanie/polecenie (my)SQL z poziomu konsoli/skryptu Bash (Linux), i dziś skorzystamy z tej wiedzy:

#!/bin/bash

mysql -u NAZWA_UŻYTKOWNIKA_MYSQL -pHASŁO <<EOF
UPDATE NAZWA_BAZY_DANYCH.wp_users SET user_login='NOWA_NAZWA_UŻYTKOWNIKA' WHERE wp_users.ID=ID_UŻYTKOWNIKA;
EOF

Tylko pamiętajcie, by pogrubione elementy zamienić na własne (jak ID użytkownika w WordPressie znajdziecie kilka akapitów wyżej).

Honey trap

Czasami spotykam się z opiniami, że warto zostawić użytkownika „admin” jako podpuchę (choć oczywiście z odpowiednio ograniczonymi uprawnieniami), czyli tzw. honey trap.

Argumenty za takim działaniem są różne, ale ja uważam, że w przypadku większości „mniej technicznych” użytkowników takie działanie nie ma sensu.

Ale jeśli z jakichś przyczyn zdecydujecie się na taki ruch, to oprócz „lewego” konta „admin” warto jeszcze utworzyć przynajmniej 2 dodatkowe – z moich statystyk/obserwacji wynika, że wśród atakujących (w większości są to specjalne skrypty – boty) równie popularnym użytkownikiem co „admin” jest nazwa strony (w przypadku Webinsider.pl będzie to „webinsider”) oraz nasza nazwa wyświetlana (w moim przypadku „patryk”).

Dlatego jeśli już ze względów bezpieczeństwa zmieniacie nazwę użytkownika „admin” na inna, to niech to nie będzie nazwa strony/domeny, czy Wasza nazwa wyświetlana – bo całą operacja nie będzie nic warta.

(!) Zgłoś błąd na stronie
Pomogłem? To może postawisz mi wirtualną kawę?
LUTy dla D-Cinelike (DJI Mini 3 Pro, DJI Avata, OSMO Pocket) od MiniFly
Wdrożenie Omnibusa w sklepie na WooCommerce
Jak (legalnie) latać dronem w Kategorii Otwartej
Kurs "WordPress: Pierwsze kroki" (na dobry początek)
Patryk
Kurs "WordPress: Pierwsze kroki" (na dobry początek)