[erledigt] default shell nicht gesetzt?

Warum Debian und/oder eine seiner Spielarten? Was muss ich vorher wissen? Wo geht es nach der Installation weiter?
Antworten
curt123
Beiträge: 704
Registriert: 19.10.2018 12:49:35
Wohnort: NRW

[erledigt] default shell nicht gesetzt?

Beitrag von curt123 » 19.03.2021 17:42:50

Hallo,

bei meiner Installation von Testing/Bullseye Xfce besteht offenbar noch Handlungsbedarf.

Der Prompt des Terminal ist nur $. Eine Variable shell scheint leer zu sein. Offenbar kommt sh zum Einsatz.

Code: Alles auswählen

$ echo $shell

$ 

Code: Alles auswählen

$ cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/usr/bin/bash
/bin/rbash
/usr/bin/rbash
/bin/dash
/usr/bin/dash
$ 
Ist das mittels chsh (für alle User?) anzupassen?

Und dann per chsh -s /bin/bash ?

Bei der Gelegenheit noch eine Frage zur Tastatur, bei Upgrades wird schon mal die Tastatur, Microsoft Wired Keyboard 600 (1366 B), als "unbekannt" bemängelt. Ausgewählt habe ich wohl dann eine Universaltastatur, vmtl. war es etwas mit "105". Wohl egal, wenn es so klappt, oder könnte es da noch passende Firmware geben? Hier wird dieTastatur offenbar als "Working" aufgeführt https://elinux.org/RPi_USB_Keyboards

Danke schonmal
Zuletzt geändert von curt123 am 20.03.2021 06:38:55, insgesamt 1-mal geändert.

JTH
Moderator
Beiträge: 3014
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: default shell nicht gesetzt?

Beitrag von JTH » 19.03.2021 17:52:12

curt123 hat geschrieben: ↑ zum Beitrag ↑
19.03.2021 17:42:50
Offenbar kommt sh zum Einsatz.
Es würde mich stark wundern, wenn die Benutzer nach einer üblichen Installation nicht die Bash als Shell festgelegt haben. (Aber lerne gern dazu.)

curt123 hat geschrieben: ↑ zum Beitrag ↑
19.03.2021 17:42:50

Code: Alles auswählen

$ echo $shell
Ich denke, du suchst $SHELL.
Manchmal bekannt als Just (another) Terminal Hacker.

Benutzeravatar
smutbert
Moderator
Beiträge: 8315
Registriert: 24.07.2011 13:27:39
Wohnort: Graz

Re: default shell nicht gesetzt?

Beitrag von smutbert » 19.03.2021 18:01:13

und die default Shell für neue Benutzer steht in »/etc/adduser.conf«. Mit chsh kann man meines Wissens nur die Shell existierender Benutzer ändern.
Wie hast du denn deinen Benutzer mit der spartanischen Shell angelegt?

JTH
Moderator
Beiträge: 3014
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: default shell nicht gesetzt?

Beitrag von JTH » 19.03.2021 18:07:45

smutbert hat geschrieben: ↑ zum Beitrag ↑
19.03.2021 18:01:13
Wie hast du denn deinen Benutzer mit der spartanischen Shell angelegt?
Ach ja, wenn man useradd benutzt, wirds normalerweise /bin/sh. Ein weiterer Grund, wie eh (meist) empfohlen, adduser zu benutzen :)
Manchmal bekannt als Just (another) Terminal Hacker.

curt123
Beiträge: 704
Registriert: 19.10.2018 12:49:35
Wohnort: NRW

Re: default shell nicht gesetzt?

Beitrag von curt123 » 19.03.2021 18:27:21

Danke für die Hinweise.
JTH hat geschrieben: ↑ zum Beitrag ↑
19.03.2021 17:52:12
Es würde mich stark wundern, wenn die Benutzer nach einer üblichen Installation nicht die Bash als Shell festgelegt haben. (Aber lerne gern dazu.)
//
Ich denke, du suchst $SHELL.
Eigentlich erstmal eine Installation einer "ordentlichen" testing-debian-ISO vom Januar, aber s.u..

Und ja, so schaut es besser aus:

Code: Alles auswählen

$ echo $SHELL
/bin/sh
$ 
smutbert hat geschrieben: ↑ zum Beitrag ↑
19.03.2021 18:01:13
und die default Shell für neue Benutzer steht in »/etc/adduser.conf«. Mit chsh kann man meines Wissens nur die Shell existierender Benutzer ändern.
Wie hast du denn deinen Benutzer mit der spartanischen Shell angelegt?
Bei der Installation (Installation aus Live-ISO heraus). root habe ich hinterher "angelegt".

Es mag aber sein, dass ich Probleme mit dem User hatte, weil Synaptic nicht nach root, sondern nach dem User gefragt hatte. Da habe ich den User wohl gelöscht und wieder neu angelegt.
JTH hat geschrieben:Ach ja, wenn man useradd benutzt, wirds normalerweise /bin/sh. Ein weiterer Grund, wie eh (meist) empfohlen, adduser zu benutzen
Vermutlich hatte ich den User gelöscht und wieder angelegt, da könnte es passiert sein.

Ok, wie räume ich nun(evtl. heute etwas später) auf, einfach als User chsh -s /bin/bash?
Oder adduser.conf? Dort findet sich z.B.

Code: Alles auswählen

DSHELL=/bin/bash

curt123
Beiträge: 704
Registriert: 19.10.2018 12:49:35
Wohnort: NRW

[erledigt] default shell nicht gesetzt?

Beitrag von curt123 » 20.03.2021 07:20:15

Erst nach einem Neustart machte sich die Änderung per chsh bemerkbar, User ab- und anmelden reichte hier nicht. Dazu, wie auch zur Syntax, gibt es offenbar etwas abweichende Quellen.
JTH hat geschrieben: ↑ zum Beitrag ↑
19.03.2021 18:07:45
Ach ja, wenn man useradd benutzt, wirds normalerweise /bin/sh. Ein weiterer Grund, wie eh (meist) empfohlen, adduser zu benutzen :)
Schonmal gut, dass ich damit die Ursache kenne. Offenbar habe ich solch eine Empfehlung nicht gefunden oder ignoriert. useradd war in meinem Fall, wenn ich es richtig verstanden habe, wohl vorteilhaft, weil das User-Verzeichnis nicht neu angelegt werden mußte/sollte. Ich hätte wohl gleich noch mit -s ... die Shell angeben können.

Danke für die Hinweise, die wichtigen Punkte sind geklärt. Ausser, ich sollte noch User-Einstellungen kontrollieren; das home directory war ohne Anpassungen stimmig, auch sonst scheint alles normal zu laufen.

JTH
Moderator
Beiträge: 3014
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: [erledigt] default shell nicht gesetzt?

Beitrag von JTH » 20.03.2021 10:23:02

curt123 hat geschrieben: ↑ zum Beitrag ↑
20.03.2021 07:20:15
Schonmal gut, dass ich damit die Ursache kenne. Offenbar habe ich solch eine Empfehlung nicht gefunden oder ignoriert.
Die manpage ist immer einen Blick wert:
man useradd hat geschrieben: useradd is a low level utility for adding users. On Debian, administrators should usually use adduser(8) instead.

curt123 hat geschrieben: ↑ zum Beitrag ↑
20.03.2021 07:20:15
useradd war in meinem Fall, wenn ich es richtig verstanden habe, wohl vorteilhaft, weil das User-Verzeichnis nicht neu angelegt werden mußte/sollte.
Ein existierendes Home weiterbenutzen geht auch mit adduser, bei Bedarf mit der Option --home übergeben. adduser ist nichts weiter als ein Perl-Skript, das useradd aufruft und ein paar praktische Dinge extra erledigt (das Home auch tatsächlich anlegen, dort ein paar grundlegende Konfigs hinkopieren, eine sinnvolle Login-Shell setzen, etc.).
Manchmal bekannt als Just (another) Terminal Hacker.

Antworten