Unix: Benutzer sind bash oder ksh zugeordnet?

Hallo,

ich arbeite hier auf einem Firmenserver (Sun) und habe selbt eine bash-Shell. Ein Kollege von mir ist in der gleichen Gruppe und im gleichen User-Home, hat aber offensichtlich eine ksh-Shell.

Kann man das irgendwie zuordnen und ggf. ändern, so dass er auch eine bash bekommt? Ich erinnere mich ganz dunkel, dass es da was gab, aber ich komme nicht mehr drauf. Mit dem .profile undso scheint es jedenfalls doch nichts zu tun zu haben. Ist wohl eher was für den Admin, oder?

Danke,
Kristian

PS: Am Ende geht´s eigentlich nur darum, dass solche Tasten wie Cursor-Hoch zur Befehls-Wiederholung, Tab zur Auto-Ergänzung und Backspace funktionieren. Das geht bei dem ksh-Kollegen nicht.

Hallo,

ich arbeite hier auf einem Firmenserver (Sun)

Uh… Sun kenne ich nicht.

und habe selbt
eine bash-Shell. Ein Kollege von mir ist in der gleichen
Gruppe und im gleichen User-Home, hat aber offensichtlich eine
ksh-Shell.

corrosive:/home/niehaus # grep niehaus /etc/passwd
niehaus:x:500:100::/home/niehaus:/bin/bash
corrosive:/home/niehaus #

Zum Ändern würde ich das unter Linux gängige „visudo“ empfehlen, keine Ahnung, ob das bei Solaris entsprechend läuft.

Ist wohl eher was für den Admin, oder?

Ja.

HTH & Gruß,

Sebastian

Hallo,

Hi,

ich arbeite hier auf einem Firmenserver (Sun)

Uh… Sun kenne ich nicht.

Me too!

und habe selbt eine bash-Shell. Ein Kollege von mir ist in
der gleichen Gruppe und im gleichen User-Home, hat aber
offensichtlich eine ksh-Shell.

> corrosive:/home/niehaus # grep niehaus /etc/passwd  
> niehaus:x:500:100::/home/niehaus:/bin/bash  
> corrosive:/home/niehaus #

Zum Ändern würde ich das unter Linux gängige „visudo“

Uh… okay, es ist ja frueh am morgen, daher: s/visudo/vipw/

empfehlen, keine Ahnung, ob das bei Solaris entsprechend
läuft.

Ist wohl eher was für den Admin, oder?

Ja.

Ist wirklich zu frueh fuer Dich:

frank@zion [~] $ grep frank /etc/passwd
frank:x:1006:1006:smiley:er Frank:/home/frank:/bin/sh
frank@zion [~] $ chsh -s /bin/csh
Password:
frank@zion [~] $ grep frank /etc/passwd
frank:x:1006:1006:smiley:er Frank:/home/frank:/bin/csh
frank@zion [~] $

Falls die Nutzerverwaltung zentral per NIS erfolgt ist ypchsh das tool der Wahl (das muss root aber vorher freigegeben haben).

HTH,
Gruss vom Frank.

Zum Ändern würde ich das unter Linux gängige „visudo“

Falscher Film.

empfehlen, keine Ahnung, ob das bei Solaris entsprechend
läuft.

Also, von solchen Mädchenprogrammen (vipw) habe ich erst erfahren, nachdem ich /etc/passwd bereits ein Jahrzehnt mit $EDITOR bearbeitet hatte :wink: Auf meinen aktuellen Suns ist es nicht mal standardmäßig im Pfad.

Stefan

Am Ende geht´s eigentlich nur darum, dass solche Tasten
wie Cursor-Hoch zur Befehls-Wiederholung, Tab zur
Auto-Ergänzung und Backspace funktionieren. Das geht bei dem
ksh-Kollegen nicht.

Tach,
wenn ihr die Login-Shell nicht ändern könnt / dürft:
so schwierig ist das mit der ksh auch nicht. Einfach den Modus der Wahl (je nach persönlicher Vorliebe) einstellen, und schon funktioniert auch so einiges.

set -o emacs 

(BTW: es gibt auch den vi mode, der ist aber IMHO auch Shell-Ebene etwas umständlicher zu bedienen - und das behaupte ich als bekennender vi-Fan)

Im emacs mode geht dan z.B. Folgendes:

CTRL-P / CTRL-N previous / next line in history
CTRL-F / CTRL-B forward / backward (in current line)
CTRL-E / CTRL-A to end / start of line

ESC-ESC filename completion

usw. usw. (die restlichen 2000 weitere Funktionen siehe unter ‚man ksh‘, Stichwort ‚emacs editing mode‘)

gruss
bernhard

Hallo,

die einfachste Lösung ist:

trage einfach in die letzte Zeile deiner .profile

/usr/bin/bash

ein.
Dann loggst du dich aus und ein und du hast deine bash :smile:.

Gruß

Mario

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Cool, das kannte ich nicht. Und es funktioniert!
Ist eine ganz brauchbare Alternative.

Danke und schönes Wochenende!

Kristian

PS: Die vi-Kommandos möchte ich auch lieber nur dort verwenden :wink:

set -o emacs

(BTW: es gibt auch den vi mode, der ist aber IMHO auch
Shell-Ebene etwas umständlicher zu bedienen - und das behaupte
ich als bekennender vi-Fan)

Im emacs mode geht dan z.B. Folgendes:

CTRL-P / CTRL-N previous / next line in history
CTRL-F / CTRL-B forward / backward (in current line)
CTRL-E / CTRL-A to end / start of line

ESC-ESC filename completion

usw. usw. (die restlichen 2000 weitere Funktionen siehe unter
‚man ksh‘, Stichwort ‚emacs editing mode‘)

die einfachste Lösung ist:
trage einfach in die letzte Zeile deiner .profile
/usr/bin/bash
ein.

Hm, das ist natürlich auch nicht schlecht! Und es funktioniert auch (übrigens auch ohne „/usr/bin/“).

Es gibt nur ein Problem: Die Aliase, die in der.profile angelegt werden, sind nicht mehr verfügbar. Ich habe dann mal ein .bash_profile angelegt und die Aliase da reingetan, aber das hat leider auch nichts geholfen.

Dass man sich am Ende zweimal ausloggen muss … gut, damit kann man leben :wink:

Danke,
Kristian

Ich habe dann mal
ein .bash_profile angelegt und die Aliase da reingetan, aber
das hat leider auch nichts geholfen.

Die .bash_profile wird nur von einer login-shell gelesen. Die Aliase solltest du in die .bashrc schreiben.

Dass man sich am Ende zweimal ausloggen muss … gut, damit
kann man leben :wink:

muss man nicht:
mit exec /bin/bash (ich glaube das heisst so) muss man sich nur einmal ausloggen.

Gruesse,
Moritz

Hi,
hast du mal chsh (change shell) probiert? keine ahnung auf welchen plattformen es das gibt…
Gruesse,
Moritz

Hm, das ist natürlich auch nicht schlecht! Und es funktioniert
auch (übrigens auch ohne „/usr/bin/“).

Es gibt nur ein Problem: Die Aliase, die in der.profile
angelegt werden, sind nicht mehr verfügbar. Ich habe dann mal
ein .bash_profile angelegt und die Aliase da reingetan, aber
das hat leider auch nichts geholfen.

Dass man sich am Ende zweimal ausloggen muss … gut, damit
kann man leben :wink:

Danke,
Kristian

na dann schreib einfach bash an den anfang der .profile dann werden die darauf folgenden aliasse auch angelegt. :smile:

oder probier mal „passwd -e /usr/bin/bash“
Damit legst du deine login shell fest (vorausgesetzt du hast die permissions). Dann musst du auch nur noch einmal ausloggen.

mario

na dann schreib einfach bash an den anfang der .profile dann
werden die darauf folgenden aliasse auch angelegt. :smile:

Das hatte ich schon probiert. Wird aber nix, und das scheint mir auch logisch zu sein, denn mit der bash verlasse ich ja die ksh, in der die Aliase gelten. Nach dem ersten Logout sollten sie dann „wieder da“ sein.

oder probier mal „passwd -e /usr/bin/bash“
Damit legst du deine login shell fest (vorausgesetzt du hast
die permissions). Dann musst du auch nur noch einmal
ausloggen.

Die permissions habe ich leider nicht.
Aber ich probiere mal das mit der .bashrc aus. Das hatte ich an der Uni auch, glaube ich. Alles schon bissl her … :wink:

Kristian

Die .bash_profile wird nur von einer login-shell gelesen. Die
Aliase solltest du in die .bashrc schreiben.

Genau das ist es. Sehr gut.

Dass man sich am Ende zweimal ausloggen muss … gut, damit
kann man leben :wink:

muss man nicht:
mit exec /bin/bash (ich glaube das heisst so) muss man sich
nur einmal ausloggen.

Auch das passt. Klasse! :wink:

Gruesse,
Moritz

Danke Dir!
Kristian