Redefinindo a senha de administrador do Drupal com sal

Redefinindo a senha de administrador do Drupal com sal

Tenho uma VM antiga com Drupal configurada e não consigo lembrar a senha do administrador. O processo de recuperação de senha me enviou um link para redefinir a senha, mas a página gerada dizia "Acesso negado".

Eu então tenteieditando diretamente a tabela de usuários do Drupal no MySQL.Isso teria funcionado, exceto pelo fato de o módulo Salt estar instalado e, portanto, o hash ser inválido.

Não tenho certeza para onde ir a partir daqui; alguma ideia?

Responder1

Parece que você já resolveu o problema, mas aqui está uma resposta de qualquer maneira. Conecte-se ao banco de dados mysql e faça o seguinte:

  • selecione o valor da variável onde name='salt';
  • atualizar usuários set pass=md5('newpassSALT') onde uid=1; Onde SALT é o valor indicado acima.

A senha deve ser redefinida para “newpass”.

Responder2

Não tive sorte com o MD5('newpassSALT')método descrito noresposta aceita, então aqui está o que funcionou para mim. Observe que você precisa substituir seus próprios valores pelo seguinte:

  • /var/www/path/to/drupal: o local onde seu Drupal está instalado
  • mynewpassword: sua senha desejada
  • drupaluser: o usuário do banco de dados drupal
  • drupaldb:o esquema do banco de dados drupal

Passo a passo:

# cd /var/www/path/to/drupal
# scripts/password-hash.sh "mynewpassword"
password: mynewpassword     hash: $S$C/mWw8UGcAyCwLDOiqRBOShJl8w2vVLsSzYvqCMuAg/LSncU16Iy

# mysql -u drupaluser -p
enter your password:

mysql> use drupaldb
Database changed
mysql> update users set pass='$S$C/mWw8UGcAyCwLDOiqRBOShJl8w2vVLsSzYvqCMuAg/LSncU16Iy' where uid=1;
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> commit;
Query OK, 0 rows affected (0.00 sec)

Responder3

Você tem uma segunda conta não administrativa em seu sistema drupal que funciona? Também está usando a senha programada? Você consegue editar diretamente a tabela mysql e copiar a senha de uma conta conhecida para a conta de administrador?

Responder4

Você está encerrando o banco de dados errado! A tabela mysql.user é especificamente para contas mysql acessarem o banco de dados do Drupal. Se o drupal estiver dizendo "acesso negado", provavelmente ele terá acesso ao seu banco de dados e você esqueceu a senha de administrador do drupal. Eu recomendo fortemente usar o phpMyAdmin para isso.

1. Login to phpMyAdmin
2. Select the database which Drupal use from the drop-down menu on the left.
4. Click on the SQL tab.
5. In the text field on the page type the following text:
update users set pass=md5('NEWPASS') where uid = 1;

o uid 1 é o admin, você pode alterar as senhas usadas por outros usuários alterando o uid nesta consulta.

informação relacionada