PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Komme nich an die Daten ran - hilfää!



antimon
24-06-2000, 00:39
Hi,

irgendwie hab ich mein eigenes Grab geschaffen:
Eigentlich habe ich nur das Passwort vom root geändert, damit ich meine Datenbank ein wenig schützen kann, jetzt komm ich nicht mehr als root rein!

Das Passwort hab ich mit "UPDATE user SET Password='<pass>' where User='root';" eingestellt. Hab ich da was falsch gemacht???
Kann ich mich irgendwie noch von einem anderen Computer einloggen, oder kann ich die ganze DB vergessen????
Von welchem Rechner / welcher IP darf root sich standartmässig einloggen, vielleicht ist da noch was zu machen???

Hilfäää,
Antimon

26-06-2000, 11:32
Hi Antimon !!!

Nehme mal an, dass Du unter Linux arbeitest ?

Hast mehrere Möglichkeiten, um an Deine DB wieder ranzukommen.

1. Du nimmst Webmin 0.79 und kannst dann mit dem Mysql-Modul auf Deine DB zugreifen, und das Passwort wieder löschen.

2. Du löscht Deine table 'users', und überspielst sie mit der Original, Falls du keine Datensicherung hast, kannst du diese Tabelle auch zusammen mit den Files von mysql von www.mysql.com (http://www.mysql.com) runterladen, da sie bei den sourcefiles dabei ist.
Das rootpasswort ist dann wie bei der Erstinstallation nicht gesetzt.

3. Bei der Linuxversion für Mysql ist ein Script dabei, um passwörter zu setzen. Dieses Script fragt alle notwendigen Parameter ab, und erklärt diese auch. ('heisst glaube ich 'setpasswd', bin mir aber nicht sicher').

4. Zu den Rechten allgemein:

Mysql kennt Rechte auf verschiedenen Ebenen.
Wer darf überhaupt von wo zugreifen ==> Festlegung für jeden Benutzer möglich.
Worauf darf er zugreifen: user_tables
und was darf er dort machen: die 'grants'
Es gibt Clients wie Sand am Meer, nur manchmal muss man aufpassen, da die Clients zwar die Tabellen mit den Rechten anzeigen, und auch Einträge ermöglichen, die Einträge aber oft unverschluesselt gespeichert werden, und damit einen zugriff nicht mehr möglich machen.

Gruss Martin

antimon
27-06-2000, 14:36
Das hab ich mir fast gedacht. Heute Nacht ist es mir eingefallen.

Also hätte ich eingeben müssen: set password=password('pass')
(oder so ähnlich, Syntax is ja hier egal ;-))))

Wie werden die Passwörter eigentlich entschlüsselt?
Das hab ich mich schonmal gefragt, weil wenn ich Benutzerdaten speichere, möchte ich die Passwörter ver-/entschlüsseln können.

Dann könnte ich eigentlich auch so wieder an mein Passwort rankommen, oder?
Ich lege als "normaler User" einen Eintrag ein einer Tabelle an, der mein Passwort enthält. Diesen lese ich dann aus und "entschlüssle" ihn. Die dabei resultierende Buchstabenkombination gebe ich als Root-Passwort ein und müsste mich dann theoretisch wieder einloggen können, oder täusche ich mich??
Die Idee ist einfach, das Pferd von hinten aufzuzäumen: Bei der Anmeldung von MySQL liest das Programm ja auch den Eintrag, der beim Passwort steht, aus und entschlüsselt ihn, danach vergleicht es ihn mit der eingegebenen Zeichenkette. Stimmt diese überein, komme ich rein.

Wenn mir jemand sagen kann, wie ich ein Passwortfeld in MySQL entschlüsseln kann, probier ichs aus.

Aber danke schonmal für die Hilfe

Antimon

28-06-2000, 07:18
Kann mir kaum vorstellen, dass der Verschluesselungsalgorithmus frei zugänglich ist, und dass man die Verschluesselung 'rueckwärts' durchführen kann.

Würde glaube ich die ganze Verschlüsselung überflüssig machen.

Die richtige Synthax für anlegen(ändern) eines benutzers ist:
'Create (alter) user xyz identified by mypasswd;'.

Wenn du an deine Daten ranmusst, so ist es die einfachste Lösung die user_tables mit dem Original zu überschreiben,da dann kein Passwort gesetzt ist. Du würdest dabei ja keine Daten verlieren, sondern muesstest nur die zugelassenen Benutzer neu anlegen.

Martin