ubuntuusers.de

Startshell bei SSH

Status: Ungelöst | Ubuntu-Version: Ubuntu 10.04 (Lucid Lynx)
Antworten |

HaZeL_The_Nut

Anmeldungsdatum:
9. November 2011

Beiträge: Zähle...

Hallo.

Mein Problem sieht folgendermaßen aus: ich habe einen Account in einem Institutsnetzwerk an der Uni. Da kann ich mich von "außen" per SSH auf einem Rechner einloggen. Allerdings wird die Session dann mit einer csh gestartet. (Das hab ich durch "ps aux | grep "meinUserName"" herausgefunden > war das richtig?) Deshalb muss ich nach jedem Login ersteinmal "bash" starten, um mit einer - aus meiner Sicht - vernünftigen Shell arbeiten zu können.

Ich habe schon einige Seiten im Netz danach durchstöbert und habe einige Orte, an denen die Standard-Shell im System eingetragen ist, überprüft. Da stand immer die bash drin. Wo genau das überall war weis ich leider nichtmehr, das ist schon ein paar Tage her (könnte ich aber evtl. nachprüfen).

Per "chsh -s /bin/bash" kann ich es auch nicht ändern, da ich nur eingeschränkte Userrechte besitze und nicht in der /etc/passwd stehe.

Weis einer von euch Rat, wo genau die Standard-Shell für SSH-angemeldete eingetragen ist?

Wie gesagt, ich besitze nur Userrechte. Den Admin kenne ich und er würde es auch gerne ändern, allerdings sollte ich dann auch direkt eine Lösung parat haben und nicht lange mit ihm rumtüfteln müssen.

Danke schonmal.

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21836

Wohnort: Lorchhausen im schönen Rheingau

$ cat ~/.profile
exec /bin/zsh

So sollte es auch bei Euch gehen.

HaZeL_The_Nut

(Themenstarter)

Anmeldungsdatum:
9. November 2011

Beiträge: 21

Mh, entweder versteh ich nicht was du meinst, oder es funktioniert nicht. Eine .profile gibts nicht in meinem User-Ordner. Ich hab sie mal erstellt und "exec /bin/bash" eingetragen. Nach aus- und wieder einloggen ist nichts anders. Oder muss ich bei der .profile eine bestimmte Formatierung einhalten? Dazu hab ich nichts gefunden.

Und wieso hast du /zsh gemeint? Oder war das nur ein Versehen?

Kann die Shell eigentlich komplett geändert werden oder geht das dann nur, dass die bash in der csh läuft? Und würden sich daraus irgendwelche Nachteile ergeben?

redknight Team-Icon

Moderator & Supporter
Avatar von redknight

Anmeldungsdatum:
30. Oktober 2008

Beiträge: 21836

Wohnort: Lorchhausen im schönen Rheingau

Ich benutze halt die zsh. Meine .profile wird beim Login ausgewertet, wie man daran sieht, dass ich sofort die zsh bekomme. Ist deine .profile weltweit lesbar? (Recht 644 )

Und ja, eigentlich sollte die Shell komplett geändert werden können.

Nefarius

Avatar von Nefarius

Anmeldungsdatum:
11. Dezember 2008

Beiträge: 1275

Hey,

wenn du nicht in der /etc/passwd stehst, werden deine Profildaten wahrscheinlich per Verzeichnisdienst (LDAP) geladen. Dann muss dein Admin lediglich das Attribut "Shell" (oder wie auch immer es in seinem Schema heißt) auf den Pfad der bash ändern, dann hast du deine Bash und die anderen Nutzer sind davon unberührt.

HaZeL_The_Nut

(Themenstarter)

Anmeldungsdatum:
9. November 2011

Beiträge: 21

Nefarius schrieb:

Hey,

wenn du nicht in der /etc/passwd stehst, werden deine Profildaten wahrscheinlich per Verzeichnisdienst (LDAP) geladen. Dann muss dein Admin lediglich das Attribut "Shell" (oder wie auch immer es in seinem Schema heißt) auf den Pfad der bash ändern, dann hast du deine Bash und die anderen Nutzer sind davon unberührt.

Hi, kann ich das irgendwo überprüfen? LDAP hör ich zum Erstenmal... Die Infrastuktur sieht bei uns so aus, dass wir viele viele Rechner an Arbeitsplätzen verteilt haben und jeder sich mit seinem User (gilt für Windows und Linux) an jedem Rechner anmelden kann. Vielleicht hilft die Info weiter.

Und wo müsste das Attribut geändert werden (Datei)? Und auf der Linux-Maschine auf der ich mich einloggen will oder in den LDAP-Einstellungen (insofern das überhaupt genutzt wird).

Nefarius

Avatar von Nefarius

Anmeldungsdatum:
11. Dezember 2008

Beiträge: 1275

Ok, so wie du es beschreibst wird bestimmt LDAP dafür eingesetzt. Das muss natürlich am Server geändert werden, der die Kontoinfos gespeichert hat (Active Directory, Samba/OpenLDAP-Kombi) aber das sollte dein Admin ja am besten Wissen was zu tun ist wenn du ihm deinen Wunsch äußerst 😉

diesch Team-Icon

Avatar von diesch

Anmeldungsdatum:
18. Februar 2009

Beiträge: 5072

Wohnort: Brandenburg an der Havel

~/.profile wird von der csh nicht ausgewertet. Du kannst aber statt dessen ~/.cshrc nehmen, oder was die csh auch immer auswertet, wenn sie als Login-Shell gestartet wird (die Manpage sollte da weiterhelfen) - und statt bin/zsh natürlich den passenden Eintrag für die Bash nehmen.

Bei euch werden die User wohl zentral per LDAP o.ä. verwaltet, daher kannst du die Login-Shell lokal nicht ändern. Möglicherweise können dir die Leute helfen, die neue Accounts ausgeben. Es kann aber sein, dass eine andere Shell offiziell weder vorgesehen noch unterstützt wird, und du mit einer nicht-csh-kompatiblen Login-Shell eine Menge Probleme bekommst, weil irgendwelche Einstellungen bei dir nicht funktionieren.

HaZeL_The_Nut

(Themenstarter)

Anmeldungsdatum:
9. November 2011

Beiträge: 21

Ok, danke für die Antworten! Die Accounts verwaltet bei uns ein anderer Admin, als der der die Linux-Maschinen unterhält. Dann wird aus der Sache wohl nichts werden, weil der Account-verwalter schon genug zu tun hat und das ja mehr oder weniger nur ein "Schönheitsfehler" ist. Ich werd es mal ansprechen.

Wenn ich was neues erfahren habe (frühestens nächste Woche), werd ich mich wieder melden.

Danke soweit.

Antworten |