Создание или редактирование администратора в различных CMS через базу данных


Используемые термины: CMS, SQL.
В данной инструкции мы рассмотрим способы создания или изменения пользователя с правами администратора в различных CMS. Это поможет, когда мы утеряли пароль для административного пользователя, но имеем доступ к СУБД.
Wordpress
Пользователи находятся в таблице <префикс>users. Добавляем нового командой:
> INSERT INTO wp_users (`id`, `user_login`, `user_pass`, `user_nicename`, `user_email`, `user_url`, `user_activation_key`, `user_status`, `display_name`) VALUES ('34', 'new_admin', MD5('password_admin'), 'Дмитрий Моск', 'master@dmosk.ru', 'http://www.dmosk.ru/', '', '0', 'Дмитрий Моск');
* в данном примере мы добавим пользователя с идентификатором 34, его будем использовать для следующих вставок. Если системы выдаст ошибку, что данный id уже используется, пробуем подобрать другой свободный, но со значение больше. Логин будет new_admin, пароль — password_admin.
* обратите внимание, что префикс по умолчанию wp_ в вашем случае может быть другим.
Теперь сделаем нашего пользователя администратором:
> INSERT INTO wp_usermeta (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '34', 'wp_capabilities', 'a:1:{s:13:"administrator";s:1:"1";}');
> INSERT INTO wp_usermeta (`umeta_id`, `user_id`, `meta_key`, `meta_value`) VALUES (NULL, '34', 'wp_user_level', '10');
Joomla
Пользователи находятся в таблице <префикс>users. Сначала смотрим список групп:
> SELECT * FROM `u3_usergroups`;
* по умолчанию, группа с идентификатором 8 — Super Users. Будем использовать данный идентификатор, чтобы создать администратора.
Создаем пользователя командой:
> INSERT INTO u3_users (`name`, `username`, `password`, `params`, `registerDate`, `lastvisitDate`, `lastResetTime`) VALUES ('Дмитрий Моск', 'new_admin', MD5('password_admin'), '', NOW(), NOW(), NOW());
* в данном примере мы добавим пользователя с идентификатором new_admin, пароль — password_admin.
* обратите внимание, что префикс u3_ в вашем случае может быть другим.
И добавим его в группу Super Users:
> INSERT INTO `u3_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');
Opencart
Пользователи находятся в таблице <префикс>user. Сначала смотрим список групп:
> SELECT * FROM oc_user_group;
* административная группа, как правило, имеет id 1. Его будем использовать для создания администратора.
> INSERT INTO oc_user (`user_group_id`, `username`, `password`, `salt`, `firstname`, `lastname`, `email`, `image`, `code`, `ip`, `status`, `date_added`) VALUES (1, 'new_admin', MD5('password_admin'), '', 'Дмитрий', 'Моск', 'master@dmosk.ru', '', '', '0.0.0.0', 1, CURDATE());
* в данном примере мы добавим пользователя с идентификатором new_admin, пароль — password_admin.
* обратите внимание, что префикс u3_ в вашем случае может быть другим.
Bitrix24
Пользователи находятся в таблице b_user. В отличие от других систем, для Bitrix24 мы будем не добавлять, а сбрасывать пароль :
> UPDATE `b_user` SET `PASSWORD` = MD5('password_admin') WHERE `ID`='1';
* в данном примере мы сбросили пароль для пользователя с идентификатором 1 на password_admin.
Увидеть логин для пользователя, которому мы сбросили пароль можно командой:
> SELECT `login` FROM `b_user` WHERE `id`='1';
UMI CMS
Информация о пользователях хранится в таблице <префикс>object, а логин и пароль для них — в таблице <префикс>object_content. При этом, последняя является общей таблицей для информации об объектах и нам еще нужна таблица <префикс>object_fields для определения идентификатора поля, по которому мы сможем найти нужную строку.
При работе с UMI CMS мы будем менять пароль. Для получения логина учетной записи вводим SQL-запрос:
> SELECT varchar_val FROM cms3_object_content WHERE obj_id=(SELECT id FROM cms3_objects WHERE guid='system-supervisor' LIMIT 1) AND field_id=(SELECT id FROM cms3_object_fields WHERE name='login' LIMIT 1)
* где cms3_ — префикс таблиц. В моем примере это был логин sv.
Для смены пароля вводим:
> UPDATE cms3_object_content SET varchar_val=md5('password_admin') WHERE obj_id=(SELECT id FROM cms3_objects WHERE guid='system-supervisor' LIMIT 1) AND field_id=(SELECT id FROM cms3_object_fields WHERE name='password' LIMIT 1)
* в данном примере мы сбросили пароль на password_admin.
Другие CMS
Если в перечне выше нет нужной вам системы управления сайтом, напишите мне для размещения соответствующей инструкции.