su Design wie bei Ubuntu möglich?

KDE, Gnome, Windowmanager, X11, Grafiktreiber und alles was dazu notwendig ist. Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Benutzeravatar
Johnnii360
Beiträge: 24
Registriert: 01.07.2019 15:24:40
Wohnort: Mittelfranken
Kontaktdaten:

su Design wie bei Ubuntu möglich?

Beitrag von Johnnii360 » 01.07.2019 15:36:29

Salü zusammen!

Betreibe schon seit 2014 einen Root-Server auf Windows Server 2012 R2 Basis. Da mir die fehlende Unterstützung gewisser Programme wie z.B. Seafile etc. mittlerweile auf den Keks gehen, wechsle ich jetzt zu Linux. Ich habe zum Lernen und Üben alles auf einer Ubuntu 18.04 LTS eingerichtet. Allerdings habe ich auf meinem neuen Root-Server - auf den ich nun alles übertrage - Debian 9.9 installiert, weil Ubuntu so ein paar Eigenarten hat, die mir nicht gefielen. Was mir hier so ein Bisschen fehlt, ist die Ansicht vom su Command wie bei Ubuntu. Gebe ich su BENUTZERNAME ein, dann fragte mich z.B. Ubuntu noch nach einem Passwort (allerdings war ich da nicht als klassischem root eingeloggt wie bei Debian). Dann wandelte sich u.a. auch die Eingabezeile zu benutzer@servername . Wenn ich das jetzt bei Debian mache, sehe ich dann nur ein banales $ . Zudem funktionieren die Pfeiltasten und der Tabulator nicht so, wie in der Ubuntu-Variante. Leider hab ich auf Google nicht dergl. gefunden.

Gibt es evtl die Möglichkeit den su Command auch bei Debian so zu gestalten?

Würde mich über eure Hilfe sehr freuen.
Mit besten Grüßen,
© Johannes

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: su Design wie bei Ubuntu möglich?

Beitrag von reox » 01.07.2019 16:03:45

die erste frage ist welche shell verwendet wird.
Das kannst du mittels

Code: Alles auswählen

echo $0
herausfinden.
Dann ist die nächste frage welcher prompt da eingestellt ist.
das siehst du mit

Code: Alles auswählen

echo $PS1
Auch die ganzen keyboard commands liegen an der shell config.
Ich weiß nicht was Ubuntu da genau verwendet, aber ein blick nach /etc/skel könnte helfen.

Benutzeravatar
Johnnii360
Beiträge: 24
Registriert: 01.07.2019 15:24:40
Wohnort: Mittelfranken
Kontaktdaten:

Re: su Design wie bei Ubuntu möglich?

Beitrag von Johnnii360 » 01.07.2019 17:13:29

Eigentlich die normale Bash-Shell.
Hier die Ausgabe auf deine Commands bei Debian:

Code: Alles auswählen

root@Debian-99-stretch-64-minimal ~ # echo $0
-bash
root@Debian-99-stretch-64-minimal ~ # echo $PS1
${debian_chroot:+($debian_chroot)}\[\e[1;31m\]\u\[\e[1;33m\]@\[\e[1;36m\]\h \[\e[1;33m\]\w \[\e[1;35m\]\$ \[\e[0m\]
Und hier bei Ubuntu:

Code: Alles auswählen

server@ubuntu:~$ echo $0
-bash
server@ubuntu:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
Beides als root!

Hier als su User bei Debian:

Code: Alles auswählen

$ echo $0
sh
$ echo $PS1
$
Und hier bei Ubuntu:

Code: Alles auswählen

seafile@ubuntu:/home/server$ echo $0
bash
seafile@ubuntu:/home/server$ echo $PS1
${debian_chroot:+($debian_chroot)}\u@\h:\w\$
seafile@ubuntu:/home/server$
^

Es scheint so, als würde bei Ubuntu nur ein Switch irgendwie gemacht.
Mit besten Grüßen,
© Johannes

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su Design wie bei Ubuntu möglich?

Beitrag von MartinV » 01.07.2019 17:25:05

Es gibt mehrere Shells, am meisten genutzt werden bash und sh.
Die Shell, die Du haben willst, ist bash.
Du bekommst anscheinend sh, der Prompt bei sh ist gewöhnlich ein $ und die Pfeiltasten funktionieren nicht.

Die Standardshell für Benutzer wird in /etc/passwd festgelegt, z.B.:

Code: Alles auswählen

mviereck:x:1001:1001:,,,:/home/mviereck:/bin/bash
Überprüf mal, ob bei Deinen Benutzern /bin/sh oder /bin/bash eingetragen ist, und korrigiere das gegebenenfalls.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: su Design wie bei Ubuntu möglich?

Beitrag von wanne » 01.07.2019 17:26:20

allerdings war ich da nicht als klassischem root eingeloggt wie bei Debian
Das verhalten ist glaube ich ziemlich tief in GNU eingebaut. Glaube nicht, dass man das ändern kann: passwd und su fragen nicht nach dem passwort, wenn du root eingeloggt bist. Das ist so ne Art Sicherheitsmaßnahme, damit root jederzeit auf Konten zugreifen kann auch wenn sich der Nutzer selbst ausgesperrt hat. Entweder nicht als root arbeiten oder das ist halt so.
Wenn ich das jetzt bei Debian mache, sehe ich dann nur ein banales $ .
Wenn das so ist: Beachte den unterschied zwichen useradd und adduser. Das eine legt nur den Nutzer an. Das andere setzt auch sinnvolle defaults legt ein Home-Directory an...

Wie der Promt aussieht steht in der Variable PS1.
kannst du einfach mal ausprobieren, da irgend welches zeug reinzuschreiben
Beipiel:
PS1='>'
Wenn du einen gefunden hast, der dir passt, kannst du den unten in die ~/.bashrc packen. Dann wird die Variable für jedes zukünftige starten der Bash gesetzt.
Die Syntax ist leider eher kompliziert.
Hier gibt es ne Beschreibung https://www.cyberciti.biz/tips/howto-li ... rompt.html
Farben: https://misc.flogisoft.com/bash/tip_col ... formatting
Ubuntu nutzt als User das: PS1="\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ "
Und als root das PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w# '
Etwas verständlicher ist der: PS1='$? \u@\h:\w $' Probier den mal aus und spiel daran rum.
Dann Kannst du das ganze einfärben
PS1='$? \e[32m\u@\h\e[0m:\w $'
Meiner ist dann der mit abfrage:
PS1='\e[32m$(test $? -ne 0 && echo \e[91m)[$?]\e[32m \u@\h:\w \e[0m$ '
rot: Moderator wanne spricht, default: User wanne spricht.

wanne
Moderator
Beiträge: 7465
Registriert: 24.05.2010 12:39:42

Re: su Design wie bei Ubuntu möglich?

Beitrag von wanne » 01.07.2019 17:29:56

Es gibt mehrere Shells, am meisten genutzt werden bash und sh.
Die sh ist keine Shell sondern ein alias für irgend eine Shell. Die meisten Distros nehmen dann per default ebenfalls die bash (Die sich leicht anders verhält, wen man sie nicht mit dem Kommando bash aufruft.). Ubuntu und Debian die dash.
rot: Moderator wanne spricht, default: User wanne spricht.

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: su Design wie bei Ubuntu möglich?

Beitrag von reox » 01.07.2019 17:36:41

Achso ja, du musst natürlich den (etwaigen) symbolic link lesen um die shell herauszufinden:

Code: Alles auswählen

$ echo $0
sh
$ which $0
/bin/sh
$ realpath $(which $0)
/bin/dash

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su Design wie bei Ubuntu möglich?

Beitrag von MartinV » 01.07.2019 18:01:22

Hinweis: Johnny möchte die bash shell haben.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

Benutzeravatar
Johnnii360
Beiträge: 24
Registriert: 01.07.2019 15:24:40
Wohnort: Mittelfranken
Kontaktdaten:

Re: su Design wie bei Ubuntu möglich?

Beitrag von Johnnii360 » 02.07.2019 07:00:11

MartinV hat geschrieben: ↑ zum Beitrag ↑
01.07.2019 17:25:05
Es gibt mehrere Shells, am meisten genutzt werden bash und sh.
Die Shell, die Du haben willst, ist bash.
Du bekommst anscheinend sh, der Prompt bei sh ist gewöhnlich ein $ und die Pfeiltasten funktionieren nicht.

Die Standardshell für Benutzer wird in /etc/passwd festgelegt, z.B.:

Code: Alles auswählen

mviereck:x:1001:1001:,,,:/home/mviereck:/bin/bash
Überprüf mal, ob bei Deinen Benutzern /bin/sh oder /bin/bash eingetragen ist, und korrigiere das gegebenenfalls.
Guten Morgen zusammen!

Vielen Dank für Eure Hilfe und besonders Deine MartinV! Hab hinter den entsprechenden User nun /bin/bash angehängt.
Mit besten Grüßen,
© Johannes

reox
Beiträge: 2464
Registriert: 06.06.2006 22:09:47
Lizenz eigener Beiträge: MIT Lizenz

Re: su Design wie bei Ubuntu möglich?

Beitrag von reox » 02.07.2019 09:18:03

Es gibt dafür übrigens auch ein tool: chsh
https://manpages.debian.org/jessie/pass ... .1.de.html

uname
Beiträge: 12075
Registriert: 03.06.2008 09:33:02

Re: su Design wie bei Ubuntu möglich?

Beitrag von uname » 02.07.2019 10:01:01

Wird nicht standardmäßig die Bash für root als interaktiver Benutzer verwendet?
Dass /bin/sh auf /bin/dash umgebogen wird, sollte man nicht ändern.
Ich würde /bin/bash in /etc/passwd setzen.

Das andere ist ein Prompt-Problem. https://wiki.ubuntuusers.de/Bash/Prompt
Das kann man in /root/.profile, /root/.bashrc, /etc/profile oder /etc/bash.bashrc eintragen.

Wenn ich mir das alles anschaue sehe ich eigentlich einen schönen Prompt.
Hast du irgendwas geändert? Aber mit Bash als Shell über /etc/passwd wird das wohl geradegebogen.

Antworten