loginshell änderen als normaler user

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
zeec
Beiträge: 26
Registriert: 06.08.2003 12:53:03

loginshell änderen als normaler user

Beitrag von zeec » 19.04.2004 17:35:53

Hallo,

Ich habe folgendes Problem:
Leider hab ich bei mir an der FH nicht die Möglichkeit die zsh (an die ich mich schon sehr gewöhnt hab) zu benutzen.
Der Admin meint, es wären schon genug Shells da.
Ich hab mir nun die Sourcen gezogen und die zsh in meinem Home untergebracht.
Nur wie stell ich es nun an, dass nicht mehr die Bash als Loginshell genommen wird, sondern meine zsh?

Und was passiert eigentlich wenn in /etc/passwd eine Shell eingetragen wird, die nicht existiert?
(Was ich ja leider ohne Rootrechte nicht machen kann)

Danke für die Hilfe

Edit: Ich sollte veilleciht noch dazusagen, dass das ganze in eine NIS-Domain läuft und passwd vermutlich nicht was Orignalprogramm ist

Benutzeravatar
pdreker
Beiträge: 8298
Registriert: 29.07.2002 21:53:30
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Nürnberg

Beitrag von pdreker » 19.04.2004 18:05:38

Die Login Shells werden wahrscheinlich in /etc/shells eingetragen werden müssen, sonst lässt Dich das System nicht rein. Anderenfalls wäre das Kommando "chsh" angesagt.

Da das aber wahrscheinlich nicht geht (zsh nicht in /etc/shells), bliebe nur der Trick 17: Einfach in das Login Skript der voreingestellten Shell (wahrscheinlich bash) die zsh eintragen. Diese Lösung ist zwar doppelt gemoppelt (es wird erst die Login Shell gestartet, in der dann ein zsh gestartet wird...

Patrick
Definitely not a bot...
Jabber: pdreker@debianforum.de

Benutzeravatar
spiffi
Beiträge: 1128
Registriert: 09.08.2003 19:02:27

Beitrag von spiffi » 19.04.2004 18:07:54

Deine Loginshell kannst Du mit dem Kommando chsh (change shell) wechseln. Du kannst aber nur Shells einstellen, die in der Liste der gültigen Loginshells steht. Diese Liste findest Du in der Datei /etc/shells.
Eine selbst installierte Shell wirst Du also nicht als Loginshell vewenden können. Es kann Dich aber niemand davon abhalten aus Deiner Loginshell heraus eine zsh als Subshell zu starten.
Hast Du denn schon mal nachgesehen, ob die zsh nicht vielleicht schon installiert ist?

Wenn in der /etc/passwd eine nicht existente Shell eingetragen wird, dann kann sich der entsprechende Benutzer nicht einloggen.
No language can express every thought unambiguously, least of all this one. -- D. R. Hofstadter

zeec
Beiträge: 26
Registriert: 06.08.2003 12:53:03

Beitrag von zeec » 20.04.2004 12:13:30

Danke Leute.
Ich hab jetzt einfach in die .bash_profile folgendes eingetragen:

Code: Alles auswählen

SHELL=/home/stud/zsh/bin/zsh
"$SHELL"; exit
Das sollte eigentlich passen. Ich hab noch den Tipp bekommen die Variable SHELL zu änderen, damit in allen Terminals auch die zsh benutzt wird.
Nun hab ich zwar immer die bash im Hintergrund mitlaufen, aber egal.

Benutzeravatar
Joghurt
Beiträge: 5244
Registriert: 30.01.2003 15:27:31
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Joghurt » 20.04.2004 14:31:16

Code: Alles auswählen

exec $SHELL
sollte helfen (in der bash mal "help exec" eingeben)

Antworten