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).
Spis treści w artykule
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:
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ć:
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.
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Jeśli to nie jakaś próba SPAMowania, to dziękuję. Jeśli jednak (a najpewniej tak jest), to i tak odpowiem – motyw to Extra + kilka moich modyfikacji ;-)