Retourner en haut de la page Aller au bas de la page
Logo de mon site
Logo de mon site

Yasser Arafat

Item 1 Description

Yasser Arafat

Hugo Chávez

Item 1 Description

Hugo Chávez

Mikhaïl Gorbatchev

Item 1 Description

Mikhail Sergueievitch Gorbatchev

L'Abbé Pierre

Item 1 Description

Abbe Pierre

Salvadore Allende

Item 1 Description

Salvadore Allende

Angela Yvonne Davis

Item 1 Description

Angela Yvonne Davis

Jean Moulin

Item 1 Description

Jean Moulin

Nelson Mandela

Item 1 Description

Nelson Mandela

Martin Luther King

Item 1 Description

Martin Luther King

Gamal Abdel Nasser

Item 1 Description

Gamal Abdel Nasser

Richard Stallman

Item 1 Description

Richard Stallman

Simone Veil

Item 1 Description

Simone Veil

Hand Shake

Item 1 Description

Hand Shake

Wangari Muta Maathai

Item 1 Description

Wangari Muta Maathai

Michel Colucci

Item 1 Description

Coluche

Mère Teresa

Item 1 Description

Mère Térésa

Charles de Gaulle

Item 1 Description

Charles de Gaulle

Che Guevara

Item 1 Description

Ernesto Rafael Guevara

Mohandas Gandhi

Item 1 Description

Mohandas Karamchand Gandhi

Lech Walesa

Item 1 Description

Lech Walesa

Linus Benedict Torvalds

Item 1 Description

Linus Benedict Torvalds

Sous-commandant Marcos

Item 1 Description

Sous commandant Insurge Marcos

Ahmed Shah Massoud

Item 1 Description

Ahmed Shah Massoud

Luxpopuli / eZ Publish / Trucs & astuces / eZ Publish : login et mot de passe perdus





Right menu

OBLIGATOIRE

Un professeur témoigne

La brigade canine dans un collège du Gers.
Réaction d'une internaute Québécoise:
«quand on est rendu à accepter que (...) les autorité mettent leurs sales pattes dans les culottes de vos enfants (...) il est temps (...) de vous réveiller.»
OBLIGATOIRE

Les mensonges de R. Dati

La note de recadrage statistique du sociologue L. Mucchielli recadre également les mensonges de la propagande sécuritaire dont on nous rabat les oreilles depuis déjà trop longtemps et dont les mineurs de France sont à présents la cible.
Le rapport de L. Mucchielli
OBLIGATOIRE

L'aveu de Jean-Marc Sylvestre

«Le système financier s'effondre aujourd'hui comme un jeu de carte... parce que... il a été géré d'une part.... par les États-Unis sans règle... et il a été d'autre part géré... par une bande de voyous... qui se sont gouinfrés... au détriment des autres.»
VOIR LES VIDÉOS

OBLIGATOIRE

prev prev prev prev


eZ Publish : login et mot de passe perdus

Date de publication: le samedi 9 juin 2007 Ă  19h38
Dernière modification: par Pascal BOYER le mercredi 6 mai 2009 à 19h38
« Article précédent: Filtre ImageMagick
» Article suivant: MySQL : sauvegarder et restaurer une base de données

Avant propos

Dans certaines circonstances, il arrive de perdre le login et/ou le mot de passe permettant l'accès à l'interface d'administration de eZ Publish . Bien que très embarrassante, cette situation n'est pas désespérée puisqu'il est tout à fait possible de réinitialiser le login et/ou le mot de passe à des valeurs par défaut connue.

La méthode présentée est celle de la ligne de commande .

Cependant, pour ceux qui ont installé phpMyAdmin , il peuvent arriver au même résultat bien plus simplement.

La table ezuser

Les mots de passe sont stockés, sous forme cryptée, dans la table ezuser de la base données créée lors de l’installation de eZ publish .

Visualisons le contenu de la table ezuser .

On commence par se connecter au serveur MySQL:

mysql -u root -p

Enter password: On tape le mot de passe de l’admin de MySQL 

mysql> 

Comme il y a de fortes chances qu’on ne se souvienne plus du nom de la base de données utilisée par eZ publish , on commence par lister toutes les bases de données présentes:

mysql> SHOW DATABASES;

+------------------+
| Database         |
+------------------+
| ez_test          |
| ezpublish_39     |
| mysql            |
+------------------+
21 rows in set (0.20 sec)

On sélectionne à présent la base de données:

mysql> USE ez_test;

Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

mysql> SHOW TABLES;

+--------------------------------+
| Tables_in_ez_test              |
+--------------------------------+
| audio                          |
| audiopls                       |
| ezapprove_items                |
| ezbasket                       |
| ezbinaryfile                   |
| ezcollab_group                 |
| ezcollab_item                  |
| ezcollab_item_group_link       |
| ezcollab_item_message_link     |
| ezcollab_item_participant_link |
| ezcollab_item_status           |
| ezcollab_notification_rule     |
| ezcollab_profile               |
| ezcollab_simple_message        |
| ezcontent_language             |
| ezcontentbrowsebookmark        |
| ezcontentbrowserecent          |
| ezcontentclass                 |
| ezcontentclass_attribute       |
| ezcontentclass_classgroup      |
| ezcontentclassgroup            |
| ezcontentobject                |
| ezcontentobject_attribute      |
| ezcontentobject_link           |
| ezcontentobject_name           |
| ezcontentobject_tree           |
| ezcontentobject_version        |
| ezcurrencydata                 |
| ezdiscountrule                 |
| ezdiscountsubrule              |
| ezdiscountsubrule_value        |
| ezenumobjectvalue              |
| ezenumvalue                    |
| ezforgot_password              |
| ezgeneral_digest_user_settings |
| ezimage                        |
| ezimagefile                    |
| ezimagevariation               |
| ezinfocollection               |
| ezinfocollection_attribute     |
| ezkeyword                      |
| ezkeyword_attribute_link       |
| ezmedia                        |
| ezmessage                      |
| ezmodule_run                   |
| ezmultipricedata               |
| eznode_assignment              |
| eznotificationcollection       |
| eznotificationcollection_item  |
| eznotificationevent            |
| ezoperation_memento            |
| ezorder                        |
| ezorder_item                   |
| ezorder_status                 |
| ezorder_status_history         |
| ezpackage                      |
| ezpaymentobject                |
| ezpdf_export                   |
| ezpending_actions              |
| ezpolicy                       |
| ezpolicy_limitation            |
| ezpolicy_limitation_value      |
| ezpreferences                  |
| ezproductcategory              |
| ezproductcollection            |
| ezproductcollection_item       |
| ezproductcollection_item_opt   |
| ezrole                         |
| ezrss_export                   |
| ezrss_export_item              |
| ezrss_import                   |
| ezsearch_object_word_link      |
| ezsearch_return_count          |
| ezsearch_search_phrase         |
| ezsearch_word                  |
| ezsection                      |
| ezsession                      |
| ezsite_data                    |
| ezstats                        |
| ezsubtree_notification_rule    |
| eztipafriend_counter           |
| eztipafriend_request           |
| eztrigger                      |
| ezurl                          |
| ezurl_object_link              |
| ezurlalias                     |
| ezuser                         |
| ezuser_accountkey              |
| ezuser_discountrule            |
| ezuser_role                    |
| ezuser_setting                 |
| ezuservisit                    |
| ezvatrule                      |
| ezvatrule_product_category     |
| ezvattype                      |
| ezview_counter                 |
| ezwaituntildatevalue           |
| ezwishlist                     |
| ezworkflow                     |
| ezworkflow_assign              |
| ezworkflow_event               |
| ezworkflow_group               |
| ezworkflow_group_link          |
| ezworkflow_process             |
+--------------------------------+
104 rows in set (0.06 sec)

...et oui, il en a 104 !

Pour afficher la structure de la table ezuser c’est à dire les caractéristiques des champs de cette table:

mysql> DESCRIBE ezuser;

+--------------------+--------------+------+-----+---------+-------+
| Field              | Type         | Null | Key | Default | Extra |
+--------------------+--------------+------+-----+---------+-------+
| contentobject_id   | int(11)      |      | PRI | 0       |       |
| email              | varchar(150) |      |     |         |       |
| login              | varchar(150) |      |     |         |       |
| password_hash      | varchar(50)  | YES  |     | NULL    |       |
| password_hash_type | int(11)      |      |     | 1       |       |
+--------------------+--------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

Et pour visualiser le contenu de ces champs:

mysql> SELECT * FROM ezuser;

+------------------+-----------------------+------------------+----------------------------------+--------------------+
| contentobject_id | email                 | login            | password_hash                    | password_hash_type |
+------------------+-----------------------+------------------+----------------------------------+--------------------+
|               10 | nospam@ez.no          | anonymous        | 4e6f6184135228ccd45f8233d72a0363 |                  2 |
|               14 |                       |                  | 6b4827b8eac5759e2e181bcab32bbb47 |                  2 |
+------------------+-----------------------+------------------+----------------------------------+--------------------+
2 rows in set (0.00 sec)

Le fichier db_data.dba

Pour retrouver la valeur de ce hashage:

cd /usr/local/www/monsite/share

grep -A40 "ezuser" db_data.dba |grep -B2 -A2 "admin"

0 => '14',
1 => 'nospam@ez.no',
2 => 'admin',
3 => 'c78e3b0f3d9244ed8c6d1c29464bdff9',
4 => '2',

Et l’on constate immédiatement que la valeur de l’empreinte renvoyée par la commande grep ne correspond plus à celle présente dans la table ezuser , ce qui est somme toute normal puisque lors de l’installation de eZ publish il nous est demandé de définir le mot de passe de l’administrateur.

echo -n -e "admin\npublish"|md5sum

c78e3b0f3d9244ed8c6d1c29464bdff9

grep -A40 ’ezuser’ db_data.dba |grep -B2 -A2 "anonymous"

0 => '10',
1 => 'nospam@ez.no',
2 => 'anonymous',
3 => '4e6f6184135228ccd45f8233d72a0363',
4 => '2',

...on retrouve exactement les mêmes valeurs que dans le tableau ci-dessus. A condition bien sûr de ne pas avoir modifié, après l’installation de eZ publish , le mot de passe de l’utilisateur anonymous

Revenons donc Ă  nos commandes MySQL...

Modifier le mot de passe

Il s’agit donc maintenant de remplacer la valeur inscrite dans la base de données par c78e3b0f3d9244ed8c6d1c29464bdff9

msql> UPDATE ezuser SET password_hash="c78e3b0f3d9244ed8c6d1c29464bdff9" WHERE contentobject_id="14";

Query OK, 1 row affected (0.21 sec)
Rows matched: 1 Changed: 1 Warnings: 0

On vérifie le résultat:

mysql> SELECT * FROM ezuser;

+------------------+--------------+-----------+----------------------------------+--------------------+
| contentobject_id | email        | login     | password_hash                    | password_hash_type |
+------------------+--------------+-----------+----------------------------------+--------------------+
|               10 | nospam@ez.no | anonymous | 4e6f6184135228ccd45f8233d72a0363 |                  2 |
|               14 |              |           | c78e3b0f3d9244ed8c6d1c29464bdff9 |                  2 |
+------------------+--------------+-----------+----------------------------------+--------------------+
2 rows in set (0.00 sec)

Tout est parfait.

Modifier le login

Puisque dans mon exemple le login est manquant, nous allons en définir un:

mysql> UPDATE ezuser SET login="admin" WHERE contentobject_id="14";

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

...et on vérifie une nouvelle fois le résultat:

mysql> SELECT * FROM ezuser;

+------------------+--------------+-----------+----------------------------------+--------------------+
| contentobject_id | email        | login     | password_hash                    | password_hash_type |
+------------------+--------------+-----------+----------------------------------+--------------------+
|               10 | nospam@ez.no | anonymous | 4e6f6184135228ccd45f8233d72a0363 |                  2 |
|               14 |              | admin     | c78e3b0f3d9244ed8c6d1c29464bdff9 |                  2 |
+------------------+--------------+-----------+----------------------------------+--------------------+
2 rows in set (0.00 sec)

Tout est encore nickel.

Puisqu’on y est, ajoutons l’adresse mail de l’administrateur.

Modifier l’email

On prend la mĂŞme commande et on recommence:

mysql> UPDATE ezuser SET email="pascal@linuxorable.net" WHERE contentobject_id="14";

Query OK, 1 row affected (0.00 sec)

Rows matched: 1 Changed: 1 Warnings: 0

On vérifie:

mysql> SELECT * FROM ezuser;

+------------------+------------------------+-----------+----------------------------------+--------------------+
| contentobject_id | email                  | login     | password_hash                    | password_hash_type |
+------------------+------------------------+-----------+----------------------------------+--------------------+
|               10 | nospam@ez.no           | anonymous | 4e6f6184135228ccd45f8233d72a0363 |                  2 |
|               14 | pascal@linuxorable.net | admin     | c78e3b0f3d9244ed8c6d1c29464bdff9 |                  2 |
+------------------+------------------------+-----------+----------------------------------+--------------------+
2 rows in set (0.00 sec)

...et on ferme la session:

mysql> QUIT;

Bye

Ultime test

Il ne reste plus à présent qu'à s’assurer que l’utilisateur admin peut effectivement se connecter à eZ publish avec le mot de passe publish à partir de la page de login.

Lien vers l'article précédent
Filtre ImageMagick
MySQL : sauvegarder et restaurer une base de données
Lien vers l'article suivant

Commentaires