Hab mich rausgeschossen...

Jeff

Well-Known Member
Hallo zusammen!

Hab in einem Anfall von Genialität chsh aufgerufen, um meine Shell auf bash zu ändern. Blöd nur: Die hatte ich noch gar nicht installiert, was mir nach verschiedenen Neuinstallationen von NetBSD die Tage völlig entfallen war.

Jetzt komme ich beim nächsten Neustart zum Login, gebe Namen und Password ein, werde aber sofort wieder dorthin zurück geschickt, weil ja eben keine Shell funktioniert.

Wie genau kann ich mich denn jetzt wieder ins System als root einloggen, mit sh z.B. um wieder mit chsh die Shell auf eine installierte zu setzen?

Danke für eure Hilfe.
 
Jeff schrieb:
Hallo zusammen!

Hab in einem Anfall von Genialität chsh aufgerufen, um meine Shell auf bash zu ändern. Blöd nur: Die hatte ich noch gar nicht installiert, was mir nach verschiedenen Neuinstallationen von NetBSD die Tage völlig entfallen war.

Jetzt komme ich beim nächsten Neustart zum Login, gebe Namen und Password ein, werde aber sofort wieder dorthin zurück geschickt, weil ja eben keine Shell funktioniert.

Wie genau kann ich mich denn jetzt wieder ins System als root einloggen, mit sh z.B. um wieder mit chsh die Shell auf eine installierte zu setzen?

Danke für eure Hilfe.

Die schnellste Variante ist sicherlich ein NetBSD von Diskette/CD booten, die Shell aus dem sysinst starten. root mounten und passwd ändern.

da minus
 
anfänger-alarm: Was für Befehle wären das? Warum Passwort ändern? (das weiß ich ja, ich habe bei chsh nur gesagt, er soll ab jetzt statt der csh die bash starten. Die bash war nur nicht installiert. Würde nun gerne erstmal wieder die ksh (wie zuvor) starten.
 
> Warum Passwort ändern?

Ich denke minuseins meint du sollst die /etc/passwd bearbeiten.
Wie schon gesagt, setz die SHELL für root zurück und lass sie so!

btw:
Ich hab grad kein NetBSD zu hand, aber chsh unte FBSD gibt ne Warnung aus:
Code:
(sicrash@gizmo) [~]% cat /etc/shells                                      16:30
/bin/sh
/bin/csh
/bin/tcsh
/usr/local/bin/zsh
(sicrash@gizmo) [~]% su                                                   16:30
Password:
# chsh -s bash
chsh: WARNING: shell 'bash' does not exist
pwd_mkdb: warning, unknown root shell
chsh: user information updated
# chsh -s sh
chsh: user information updated
# exit
(sicrash@gizmo) [~]%                                                      16:30
 
yop... sorry wenn ich die details nicht erwähnt habe.

da ich auch grad kein netbsd da habe und auch schon einige zeit nichts mehr damit zu tun hatte, koennen nachfolgende schritte nicht ganz stimmen.

1. installations floppy/cd booten
2. im installer von netbsd (sysinst) unter utilities die shell auswählen
3. die root (/) partition von deiner platte mounten
4. mit vi (weiss jetzt nicht auswendig, ob der in der emergency shell von netbsd enthalten ist) die datei /etc/passwd editieren und in der zeile die "root" enthält die shell ändern (da steht wahrscheinlich /usr/local/bin/bash).
5. rechner neu starten! ;) (unmount der root nicht vergessen!)

mich wundert nur, dass es dir ueberhaupt moeglich war, zu dieser shell zu wechseln. wie bereits erwähnt wurde, muss diese erst in die /etc/shells eingetragen sein, bevor ein chsh funktioniert. naja... aix tanzt da auch ein bisschen aus der reihe.

so long

 
> mich wundert nur, dass es dir ueberhaupt moeglich war, zu dieser shell zu wechseln.

Siehe mein Posting.
Als root sollte man eben wissen, was man macht. Als normaler Benutzer ist es nicht möglich.
 
unlink schrieb:
> mich wundert nur, dass es dir ueberhaupt moeglich war, zu dieser shell zu wechseln.

Siehe mein Posting.
Als root sollte man eben wissen, was man macht. Als normaler Benutzer ist es nicht möglich.

Tja, wie heisst es so schön? "Who is on root, can fell trees." ;)
 
single user boot

hi leute,

was haltet ihr denn von einem single user boot und einfach danach shell aendern?
und wer bitte hat das geruecht in die welt gesetzt, dass man die root shell nicht aendern sollte! ich meine okay ich habe es auch schon geschafft mich aus meinem rechner auszusperren weil ich nach einem grossen pkgsrc update rundumschlag vergessen hatte die tcsh neu zu installieren aber s**t happens ;) einfach im single user mode die shell wieder auf sh gesetzt tcsh installier und das wars :eek:
ich finde man sollte als root die shell benutzen die man am besten kennt und bedienen kann und sich nicht mit ner sh quaelen wenn man tcsh syntax gewoehnt ist!

my 2 ¤cent

ishy​
 
/* was haltet ihr denn von einem single user boot und einfach danach shell aendern? */

Auch 'ne Möglichkeit. Aufgrund leidvoller Erfahrungen (weniger die, die ich machen durfte, als die, die ich wieder geradebiegen durfte) ziehe ich externe Lösungen, die nicht auf die Binaries des FS, auf dem ich arbeiten will, zurückgreifen.

Hauptsächlich geht es mir dabei um das ordnungsgemäße Abschalten der SU-Umgebebung und den Umstieg in das "Produktivsystem" nach der Änderung. Häufigster Kandidat: Vergessener "umount" und ein darauffolgender ambitionierter fsck. (Im besten Fall.) Eigentlich alles Dinge, die man nur im Hinterkopf behalten müsste und zu gegebener Zeit ausführen aber ich glaube ich habe einfach zuviele Systeme wieder zum Laufen bringen müssen, dass ich selbst lieber den Weg der geringsten Fehler gehe.

/* und wer bitte hat das geruecht in die welt gesetzt, dass man die root shell nicht aendern sollte! */

;) Ist kein Gerücht. Heute sind zwar die meisten Ungereimtheiten beseitigt aber dennoch treten diese auf. Erstens gab es mal eine Zeit, wo man in Skripten nicht die jeweilige Shell mit "#!" definieren konnte und Portabilität eher ein Fremdwort war. Diverse Systemskripte von Unix-Systemen liefen dann einfach mit der Shell von root und diese wurde dann als Systemshell definiert. Die Skripte waren natürlich auf diese Shell hin getrimmt. Tauschte man jetzt bloss die Standardshell in der passwd auf, flog einem das System um die Ohren. Also ist man eher dazu übergegangen die präferierete Shell unter root auszuführen.

Diese Probleme gehören so ziemlich der Vergangenheit an. Man hat sich ja geeinigt, das die /bin/sh Posix-kompatibel zu sein hat. *hust*

Problematischer ist es, wenn man die Binaries der Systemshell austauscht. Hier passieren durchaus ein paar Änderungen. Beliebte Fehler ist die aktualisierte Syntaxerkennung. In der neuen Version werden dann Fehler angemeckert, die in der vorherigen Version noch akzeptiert wurden. Dann kommt das System etwas aus dem Tritt. Hatte erst neulich den Fall unter AIX. (Update der ksh) Naja... mal sehen wann IBM da wieder 'nen Fix bringt. ;)

Die Probleme müssen einen nicht treffen. Auf der sicheren Seite fährst du aber, wenn du derartige Änderungen umschiffst.

Aber Shells sind ein 'nen beliebtes Thema für Fundamentalisten und wenn sich die Mehrheit (also die, die am lautesten schreien können) für eine Shell ausgesprochen hat, dann wird debattiert ob 'vi' oder 'emacs' der bessere editier-modus ist. ;)

Ich frag mich nur, warum Thelogen sich nicht die IT als Anschaunsobjekt herraussuchen. Da gibt es viele Wiederauferstandene, Wasserläufer, Jünger Kreuziger und Ungläubige und jedesmal ist der Messias aus dem Blickfeld geraten, der eigentlich nur eine Alternative aufzeigen wollte...

naja... ich philosophier mal wieder...

[-1]
 
minuseins schrieb:
Erstens gab es mal eine Zeit, wo man in Skripten nicht die jeweilige Shell mit "#!" definieren konnte und Portabilität eher ein Fremdwort war.
Da wir da nun nichtmehr leben ist das also fuer mich kein Hindernis.
Diese Probleme gehören so ziemlich der Vergangenheit an. Man hat sich ja geeinigt, das die /bin/sh Posix-kompatibel zu sein hat. *hust*
*rofl* ja da habe ich auch schon leidige Erfahrungen gemacht. Wobei viel öfter ein falscher Termcap-Eintrag und nicht funktionierende PF Tasten und Tastendefinitionen zu meinem Unmut beitragen.
Problematischer ist es, wenn man die Binaries der Systemshell austauscht.
Ich bin doch nicht wahnsinnig :ugly:
Die Probleme müssen einen nicht treffen. Auf der sicheren Seite fährst du aber, wenn du derartige Änderungen umschiffst.
Okay ich benutze zwar nicht gerade das System der Zukunft (dabei wer weiss) aber ich bin mal so mutig zu sagen, dass mir keiner einen plausiblen Grund nennen kann warum ich meine Root-Shell nicht ändern soll. Nunja und wenn dann mal was kommt dann isses so ein, das macht man halt nicht oder es kommen zich Gründe aus der Vergangenheit warum man es früher nicht gemacht hat. Bitte verstehe mich nicht falsch ich lege immer Wert auf eine statisch gelinkte sh, welche ich übrigens auch für meine gesamten shellscripte verwende, aber arbeiten will ich halt mit meiner tcsh.
urs
ishy​
ps wusste nicht das es frueher kein shabang gab, man lernt halt nie aus *g*
 
Zuletzt bearbeitet:
Zurück
Oben