
Ich liebe Fish. Ich habe einen netten Ubuntu 8.04 Server, auf dem einige Dienste laufen. Also habe ich die Datei /etc/passwd bearbeitet, wie ich es schon früher getan habe, um meine Standard-Shell von Bash auf Fish zu ändern. Und ja, ich habe einen Tippfehler gemacht (Übrigens: Ich weiß über chsh Bescheid, ich bin einfach so dumm und übermütig). Bitte hör auf zu lachen.
Wie erwartet kann ich mich jetzt nicht anmelden. Ist es möglich, sich anzumelden, ohne den Server neu zu starten? Ich weiß, dass ich den Server im abgesicherten Modus neu starten und das Problem lösen kann, aber ich möchte das vermeiden.
Oh ja, ich habe keinen anderen Benutzer mit Sudo-Rechten auf diesem Server. Hör auf, schon wieder zu lachen.
Übrigens habe ich das Chaos durch die Verwendung von SSH angerichtet, aber ich habe problemlos physischen Zugriff auf den Server, er ist nur ein paar Räume entfernt.
Antwort1
Leider nein. Sie haben sich ausgesperrt. SSH lässt Sie nicht einloggen, wenn die Shell fehlt. So sieht der Versuch in aus /var/log/auth.log
:
Dec 23 15:04:59 ubuntu sshd[5585]: User kees not allowed because shell /bin/fish does not exist
Und bei der TTY-Anmeldung auf der Konsole wird immer versucht, Ihre konfigurierte Shell zu starten. Ohne einen anderen Benutzer mit sudo
Rechten müssen Sie im Einzelbenutzermodus booten, um das Problem zu beheben. :(
Antwort2
Wenn Sie ein Root-Passwort festgelegt haben, können Sie sich entweder auf dem Computer selbst als Root anmelden (entweder in X oder auf einer virtuellen Konsole durch Drücken von Alt-F1) oder sich per Remote als Nicht-Sudo-Benutzer anmelden und dann in su
einem Terminal zu Root wechseln.
Natürlich können Sie sich bei Ubuntu standardmäßig nicht als Root anmelden, daher wird hier davon ausgegangen, dass Sie dies zuvor geändert haben.
Antwort3
Wenn Sie einige Konfigurationsdateien auf einen früheren Zustand zurücksetzen möchten, können Sie jederzeit versuchen, sie zu bearbeiten. Starten Sie dazu Ihren Server mit einer Live-Version einer Ubuntu-CD, mounten Sie die aktuelle Partition, in der sich die /etc-Dateien befinden, und bearbeiten Sie sie mit vi.
Sie können auch die Datei /etc/sudoers bearbeiten, um mehreren Benutzern die Rechte zu geben, Root zu werden.