root irrtümlich in /etc/passwd umbenennt

Hugo Stiglitz

Ensign
Registriert
Aug. 2015
Beiträge
191
Hi, ich hab ein ziemlich besch* Problem.

Ich war gerade dabei, eine kleinigkeit in der Datei /etc/passwd zu ändern eingeloggt als root.

Ich war dann kurz weg, und als ich zurück kam, ist offensichtlich meine Katze über die Tastatur gelaufen (Ja, auch der Kaffee wurde umgestoßen).

Ich schaute nicht, und speicherte die Datei einfach wieder ab.

yyroot:x:0:0:root:/root:/bin/bash

Natürlich kann ich mich jetzt per SSH nicht mehr am Vserver einloggen.

Nurmehr als "normaler" User, den ich angelegt hatte.

Gibt es irgendeine Möglichkeit, entweder:

Die Datei zu bearbeiten und zu korrigieren als "normaler" User?
Mit sudo nano komm ich leider nicht weiter, denn da kommt die Fehlermeldung:
sudo: unknown user: root
sudo: unable to initialize policy plugin


Auch über den FTP mit "Vollzugriff" kann ich die Datei nicht ändern.
Was ich jedoch gesehen habe, existiert eine Datei namens passwd.save.1, welche anscheinend eine Art Backup sein muss. Da wäre alles richtig drinne.


Kann mir bitte irgendjemand sagen, wie ich das Problem lösen kann?
Es handelt sich um einen vServer mit Ubuntu 14.04 der via ssh gesteuert wird.
Der vServer ist von einem Provider angemietet, also nicht vorort.
 
Ja, wie gesagt es scheint ja ein Backup der Datei zu existieren. Aber wie kann ich das "aktivieren" bzw. damit die Hauptdatei überschreiben?
 
musst du chrooten glaube ich, wenn remote installier dir ein linux in den swap (500MB reichen), richte es ein (ssh und grub) und reboote in das reparatur linux. 10-15 min aufwand.
 
entropie88 schrieb:
musst du chrooten glaube ich, wenn remote installier dir ein linux in den swap (500MB reichen), richte es ein (ssh und grub) und reboote in das reparatur linux. 10-15 min aufwand.

Wie? Wie meinst?
Würdest du mir bitte sagen, wie das funktioniert bzw. funktionieren könnte?
 
zb https://wiki.debian.org/Debootstrap gibts auch vergleichbares von arch/gentoo/cent os usw
Damit ein Linux in den Swap installieren, also nur kernel und ssh und wichtige tools. Grub boot setzten, rebooten und dann hast du ein laufendes Linux von dem du als root auf das andere zugreifen kannst.
 
Je nach Hoster dürfte es sogar schon ein vorhandenes Recovery System geben, in welches gebootet werden kann und von welchem aus dann auf die Platte zugegriffen werden kann. Sollte sich eigentlich in deren Docu finden lassen.
 
Hugo Stiglitz schrieb:
yyroot:x:0:0:root:/root:/bin/bash

Natürlich kann ich mich jetzt per SSH nicht mehr am Vserver einloggen.

Nurmehr als "normaler" User, den ich angelegt hatte.
Als normaler Nutzer einloggen.
Nachschauen, was GENAU da in der 1. Zeile als neuer Nutzername steht.
GENAU diesen Nutzernamen verwenden, also im Beispiel "su - yyroot".

/edit: Achne, /etc/shadow passt dann nicht. Sorry. Dann musst du wohl von einer CD ö.ä. booten, das Filesystem mit der kaputteten /etc/passwd mounten und das File ändern. Siehe mein direkter Vorredner.
 
Zuletzt bearbeitet:
mensch183 schrieb:
Als normaler Nutzer einloggen.
Nachschauen, was GENAU da in der 1. Zeile als neuer Nutzername steht.
GENAU diesen Nutzernamen verwenden, also im Beispiel "su - yyroot".

/edit: Achne, /etc/shadow passt dann nicht. Sorry. Dann musst du wohl von einer CD ö.ä. booten, das Filesystem mit der kaputteten /etc/passwd mounten und das File ändern.

Also su yyroot und das ursprüngliche Passwort funktioniert leider nicht. Da kommt Authentication failure.

Das mit swap versteh ich zwar, aber da ich mit dem vServer zum ersten Mal zu tun habe, weiß ich echt nicht wie ich das angehen soll...

BackUp-Funktion scheint es keine zu geben - der Provider ist world4you..... Also ich konnte zumindest keine sehen.
 
Falls Du eine "Remote Console" o.ä. bei deinem Provider bekommst, kannst Du Linux auch im Single User Mode booten, dort hast Du dann Vollzugriff: https://askubuntu.com/a/132983

Btw: Update mal dein Ubuntu, deines ist EOL.
 
also swap installieren scheint nicht zu funktionieren, da mein normaler User nicht ausreichend Rechte hat.
 
@#9 Jojo, war mir selbt auch eingefallen. Das ging nur früher, als die Passwörter noch direkt in der passwd standen. :)
 
dein vserver wird eine adminoberfläche des anbieters haben. diese öffnen und den server stoppen. eine linux-iso ins virtuelle laufwerk einlegen (falls möglich dort eine iso wie systemrescuecd auswählen/hochladen). evtl. die bootreihenfolge ändern und booten.

wenn von der iso gebootet, dann "mount /dev/vda1 /mnt" (es wird wahrscheinlich "vda" sein, aber evtl. 2 oder 3 je nach partitionierung) und /mnt/etc/passwd editieren. poweroff, iso entfernen, server hochfahren.
 
Das einzige was ich in der Adminoberfläche des Providers machen kann ist
  • neu Aufsetzen
  • root Passwort setzen
  • Herunterfahren u. Neustarten....

Alter Schwede....
 
evtl. den support des anbieters anschreiben. ansonsten hast du ein problem :/

falls du den vserver neu aufsetzen musst würde ich die gelegenheit nutzen und nen anderen anbieter suchen, wo sowas geht.
 
0x8100 schrieb:
evtl. den support des anbieters anschreiben. ansonsten hast du ein problem :/

falls du den vserver neu aufsetzen musst würde ich die gelegenheit nutzen und nen anderen anbieter suchen, wo sowas geht.

Also ich fasse Zusammen:
Wenn diese Datei einmal verhaut ist - Ubuntu zerstört.
Ich werde jetzt dieses "Neu aufsetzen" machen, und alles von vorne einrichten.

Grundsätzlich stimmt das bezüglich dem Anbieter - aber ich muss mich an den Vertrag leider noch halten.

Naja.......

Kann mir jemand sagen, wie ich den apache2 service starten kann? Damit ich wenigstens die mysql datenbank retten kann?

Also service apache2 start oder systemctl start apache2 machen nicht mehr das, was sie einst gemacht haben....

Failed to get properties: Failed to activate service 'org.freedesktop.systemd1': timed out
 
Zuletzt bearbeitet:
an die mysql datenbank solltest du auch so ran kommen:

Code:
mysqldump -u dein_db_user -p --all-databases > all_databases.sql
 
in das verzeichnis wo du gerade bist beim ausführen des kommandos, alternativ einen pfad angeben.
 
Hugo Stiglitz schrieb:
also swap installieren scheint nicht zu funktionieren, da mein normaler User nicht ausreichend Rechte hat.
sollte eigentlich mit fakeroot gehen. Kannst dir des neue linux auch ins home in eine directory installieren.
 
Zurück
Oben