Notfall!!! Habe es durch einen Codingfehler geschafft mein root Passwort zu ändern

_Michael_

_Michael_

Mitglied
Bitte ganz dringend um Hilfe!!!
Ein Fehler in einem Shell Skript hat mein root Passwort geändert.
Leider kann ich nicht nachvollziehen auf was es es geändert hat.
Heißt ich kriege keine root Rechte mehr.

Ich habe SuSe 10.0 installiert.

Gibt es da irgend eine Möglichkeit??? Ist sehr wichtig. In dem Rechner stecken 4 Wochen Arbeit und er sollte erst morgen das erste Mal gesichert werden.

Hilfe suchend,

Michael
 
hi

keine panik!

normal kannst ihr ja noch runterfahren den kleinen rechner. mit ner bootcd booten und die partition mounten.

dann gehst du mit chroot rauf

chroot /gemountetet/verzeichnis /bin/bash

irgendwie so wars. und dann biste ja als root druff und kannst mit passwd das passwort ändern. oder du schaust dir die shadow an und kopierst den hashstring eines users wo du das passwort kennst an die stelle des roothashes.

mfg frank
 
Hallo
Das geht auch ohne CD, wenn du z.b. grub hast:
Beim Booten Eintrag auswählen und <e> eingeben
Jetzt Kernel-Zeile editieren-> hinzufügen:
init=/bin/bash
Mit <b> bootest du nun direkt als root in dein System, welches read-only gemountet ist
nun remounten:
mount / -o rw,remount
Nun mit passwd neues Passwort setzen.
Danach mit initx in das default Runlevel wechseln.( Bei Debian x=2, bei SuSe weiss ich es nicht)

Aber mal eine Frage:
Was für einen Fehler hast du denn da gemacht?
Würde mich mal interessieren wie du das fertig gebracht hast.

Gruß Wolfgang
Anmerkung:
<e> steht für die Taste e also ohne spitze Klammern.
Für <b> dito.
 
War es für das Skript auch wirklich notwendig, root-Rechte zu haben? Was sollte es genau tun?
 
Hey ihr,

Danke schonmal für die schnellen und hoffnungsbringenden Antworten.
Werde die Vorschläge vermutlich morgen schon testen (mus erst den Server aus dem Rechenzentrum holen :D ).

Tja, wie ist es passiert? Also ich kam zu dem Ergebnis, dass es wie folgt war:

Das Skript sollte in einer Schleife ein bestimmtes Verzeichnis auf bestimmte vorhandene Dateien prüfen und ggf. dann aus diesen Dateien Nutzerinformationen raus ziehen. mit diesen Daten sollte es dann u.a. die Kommandos useradd und passwd ausführen um einen oder mehrere neue Nutzer anzulegen und denen ein PW zuzuweisen.
Tja, und dazu brauchte das Skript root rechte. Und dann war dann noch die Art und Weise des Ausführens. Ich entschied mich für cron und stellte dort ein Intervall von 5min ein. So lief das Skript dann alle 5min ab. Zumindest war es so geplant.
Es trat dann ein einziger kleiner Fehler auf: Zwei kleine Zeichen `` waren Ausschlag gebend.
Ich hatte ja in dem Skript eine Schleife mit Zähler eingebaut und beim hochzählen des Zählers wurde nicht der Zähler hochgezählt sondern 2 Strings addiert und dann wurde der mit einer Zahl vergleichen. Resultat Endlosschleife.
Naja, und dann hat aus mir nicht erklärbaren Gründen das passwd Kommando verrückt gespielt und erst nur einmal und binnen Sekunden x-Mal das root PW geändert.
Ich dachte mir OK, stellste das Passwort zurück und gut. Aber dann reagierte die Shell nicht mehr als plötzlich das zweites Skript (durch cron alle 5min gestartet) auch anfing endlos zu laufen...
Ergebnis: ich kam nur noch mit normalen Userrechten ins System und stellte dann fest, dass schon 6 Instanzen des Skripts und auch des passwd Kommandos liefen. Naja, und da hab ich dann aufgegeben.

Ist mal ne Story für die Nachwelt :(

Mal sehn, ob ich mit euren Tipps weiter komme.

Danke schonmal,
melde mich morgen wieder

Klasse Forum,
Grüße

Michael
 
Hallo
Naja dann bleiben ja mindestens 3 € Lehrgeld.:oldman :D
1.€ Script vorher gründlich debuggen, bevor es als Cronjob läuft.
2.€ Bei useradd in Scripten immer vorher testen, ob es den User schon gibt.
3.€ Bei solch kurz-intervalligen Cronjobs immer testen, ob schon/noch eine Instanz läuft.

Aber lass mal, wir haben alle schon Lehrgeld gezahlt.
Dann ist meist wieder eine Weile Ruhe mit Bruder Leichtsinn.:D

Hier noch ein paar Varianten für viele Distris:
http://www.brunolinux.com/01-First_Things_To_Know/Lost_Root_Password.html

Gruß Wolfgang
 
Eventuell auch mal in Betracht ziehen mit sudo zu arbeiten und passwd fuer 'gewisse User' nicht zulassen ;-)
 
ich würde für das script extra nen user anlegen und per sudoers festlegen lassen, da er nur useradd ausführen darf. so ein script in einem cron laufen zu lassen und dann vielleicht noch auf einer öffentlichen maschine und mit rootrechen...
 
Guten Morgen.

Dank euch nochmal.

Ich denke ich werde die Variante vom Wolfgang (bzw. brunolinux) zuerst testen. Klingt mir am schnellsten.
Mal sehn, ob das alles so klappt wie erwartet.

Vielen vielen Dank nochmal!

Beste Grüße,

Michael


Hat funktionert!!!
Danke an euch alle!

Kann man mit useradd UID=0 einen zweiten Nutzer anlegen, der auch root rechte hat? wäre für mein Problem ganz hilfreich gewesen. Was meint ihr dazu?

Schöne Grüße,

Michael
 
Zuletzt bearbeitet:

Ähnliche Themen

MacBook Pro hat Benutzer-Konten vergessen

scrollrad scrollt nur horizontal -.-

root-passwort wird nicht geupdated und anderes

1000 Fragen...

mysql-server lässt sich nicht starten...

Zurück
Oben