Moodle. Восстанавливаем пароль супер-администратора системы через FTP

Был момент, в организации потеряли доступы к системе, нужно было восстанавливать. Конечно, все указанное ниже работает при наличии FTP/SFTP доступа или доступ к файл-менеджеру через хостинг-провайдера.

Для восстановления прилагаю несколько готовых скриптов на PHP.

Создаем в корне проекта файлы и стартуем скрипты по пути https://site.ru/имя_скрипта.php

Важно обратить внимание, на наличие в корне проекта, файла config.php.

		
		<?php
require_once('config.php'); 
require_once($CFG->libdir.'/moodlelib.php');

require_login(); // запретить неавторизованным доступ

// Ищем пользователя admin
$admin = $DB->get_record('user', ['username' => 'admin']);

if ($admin) {
    $newpassword = 'NewPassword123!';
    update_internal_user_password($admin, $newpassword);

    echo "Пароль администратора успешно изменен на: $newpassword";
} else {
    echo "Администратор не найден!";
}
?>	
	

Если, запускаем скрип в каталоге, а файл config.php выше по иерархии каталогов.

		
		<?php
require_once(__DIR__.'/../config.php'); // правильный путь к config.php
require_once($CFG->libdir.'/moodlelib.php');

// Ищем пользователя admin
$admin = $DB->get_record('user', ['username' => 'admin']);

if ($admin) {
    $newpassword = 'NewPassword123!';
    update_internal_user_password($admin, $newpassword);

    echo "Пароль администратора успешно изменен на: $newpassword";
} else {
    echo "Администратор не найден!";
}
?>	
	

Данный вариант, это когда, мы не знаем логина супер-администратора. Просто не всегда это бывает пользователь с логином admin.

		
		<?php
require_once(__DIR__.'/../config.php');
require_once($CFG->libdir.'/moodlelib.php');

// Ищем пользователя по ID
$admin = $DB->get_record('user', ['id' => 2]);

if ($admin) {
    // Выводим логин пользователя
    echo "Логин администратора: " . $admin->username . "<br>";

    // Меняем пароль
    $newpassword = 'NewPassword123!';
    update_internal_user_password($admin, $newpassword);

    echo "Пароль администратора успешно изменен на: $newpassword";
} else {
    echo "Администратор не найден!";
}
?>	
	

Количество просмотров: 28


Понравилась статья?

Возврат к списку