root ausgesperrt aufgrund login shell problem

Status
Für weitere Antworten geschlossen.

st3623

Benutzer
Mitglied seit
14. Jul 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Liebe Synology-Gurus,

ich bräuchte Eure Unterstützung für folgendes Problem:
Nach einem Upgrade meiner DS1511+ von DSM 3.2 auf DSM 4.0 und einem darauffolgenden Versuch, meine ipkg Umgebung neu zu installieren, hab ich mich (bzw. meinen root Account) aus der Box ausgesperrt.

Folgendes ist passiert:
- Unter DSM 3.2 hatte ich eine Reihe von ipkg Paketen installiert, eins davon zsh. Leider (inzwischen weiss ich's besser) hab ich danach die root login shell auf `/opt/bin/zsh` verändert, ohne einen Backup user mit Id 0 anzulegen.
- Nach dem Upgrade auf DSM 4.0 wollte ich meine ipkg Umgebung neu installieren und hab alles in /opt einfach gelöscht.
- Ich hab mich (als root) ausgeloggt.

Was ich bisher versucht hab:
- ssh in als `admin` und `su <something>`: funktioniert nicht, da busybox `su` nicht von einem non-root Account ausführt.
- `ssh root@host /bin/ash` funktioniert auch nicht, da SSH trotzdem den `/opt/bin/zsh: No such file or directory` Fehler bringt.
- `scp fixedfile root@host:/etc/passwd` fliegt mit genau demselben Fehler raus.

Aktueller Status:
- Ich kann mich nicht mehr als root per SSH einloggen, SSH fliegt immer mit `/opt/bin/zsh: No such file or directory` raus.
- Mit dem `admin` Account kann ich mich per SSH einloggen, aber da dieser keine Schreibrechte für den größten Teil des / filesystems hat bringt das nicht wirklich viel. (Lesezugriff hab ich aber praktisch auf alles).
- Der Rest des Systems läuft ganz normal, ich kann also alle Services normal nutzen.

Fragen:
- Kennt jemand einen Weg, wie ich über das DSM web interface den Fehler in `/etc/passwd` gefixt kriege?
- Falls das wirklich unmöglich sein sollte, wie kriege ich das System mit minimalem Rekonfigurierungsaufwand neu aufgesetzt ohne dass meine Daten-Disks flöten gehen?

Für jegliche Tipps bin ich echt dankbar...

Cheers,
Mathias
 

st3623

Benutzer
Mitglied seit
14. Jul 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Auf eine Sache bin ich eben noch gestoßen:
Über ein kleines "custom built" System Update könnte der fix auf die Platte zu bringen sein.
Weiß jemand, ob diese Info hier für die aktuellen Versionen (DSM 4.0) noch Bestand hat?

Cheers,
Mathias
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.250
Punkte für Reaktionen
2.846
Punkte
423
Hast du mal einen Passwort-Reset über den Reset-Taster probiert? Evtl. setzt das ja auch die Shell zurück.

Gruß Benares
 

st3623

Benutzer
Mitglied seit
14. Jul 2012
Beiträge
10
Punkte für Reaktionen
0
Punkte
1
Ok, Problem gelöst.
Der Fix über ein custom .pat "Firmware Update" war in der Tat problemlos möglich.
Das syno-universal-pat_20080227.tar.gz template von der Seite hier funktioniert in der Tat nach wie vor, sogar mit der aktuellen DSM 4.0.
Ich habe lediglich in die `updater2` die folgende Zeile eingefügt

sed -i -e "s/opt\/bin\/zsh/bin\/ash/" /etc/passwd

, das pat file neu gebaut und über das Web-Interface hochgeladen.
Das Script läuft sauber mit Root-Rechten durch.

Also, falls sich jemals jemand aussperren sollte: Mit einem custom pat file ist so ziemlich alles möglich.

Beste Grüße,
Mathias
 

cybafriend

Benutzer
Mitglied seit
02. Sep 2013
Beiträge
1
Punkte für Reaktionen
0
Punkte
0
Vielen Dank Mathias!

Auch wenn der Eintrag schon älter ist. Heute hat es mich echt gerettet.
Mit der Version der DSM4.3 funktioniert es auch noch über das pat.file

das sed Kommando musste ich ein wenig anpassen.
bei mir sollte bash durch ash ersetzt werden

folgendes Kommando habe ich erst in der Konsole mit einer Testdatei ausprobiert:

sed -i -e 's/bash/ash/g' /etc/passwd

dann wie in der Anleitung
Voila.. mit root wieder anmeldbar.
Nun werde ich um die bash auf der DS213 einzurichten vorsichtiger weitermachen und
unter einem separaten User die Einträge in passwd testen ;-)

mfG
Cybafriend
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat