Antworten:
Versuchen Sie den Linux-Befehl chsh
.
Der detaillierte Befehl lautet chsh -s /bin/bash
. Sie werden aufgefordert, Ihr Passwort einzugeben. Ihre Standard-Login-Shell ist /bin/bash
jetzt. Sie müssen sich abmelden und wieder anmelden, um diese Änderung zu sehen.
Folgendes wird aus der Manpage zitiert:
Der Befehl chsh ändert die Benutzeranmeldeshell. Dies bestimmt den Namen des anfänglichen Anmeldebefehls des Benutzers. Ein normaler Benutzer kann die Anmeldeshell nur für sein eigenes Konto ändern, der Superuser kann die Anmeldeshell für jedes Konto ändern
Dieser Befehl ändert die Standard-Anmeldeshell dauerhaft.
Hinweis: Wenn Ihr Benutzerkonto remote ist, z. B. bei der Kerberos-Authentifizierung (z. B. Enterprise RHEL), können Sie es nicht verwenden chsh
.
chsh: can only change local entries; use ypchsh instead
. Dann hat ypchsh keine -s
Option
/etc/passwd
, aber ich habe sie nicht überprüft.
exec /bin/bash
zu ~/.profile
und dies erlaubte mir , ohne dass Änderungen an den Server direkt zu bash einzuloggen. (Die ursprüngliche Standard-Shell war nur /bin/sh
)
exit
Bash eingeben? Werden Sie den Server direkt abmelden oder einfach die Bash beenden und in den sh und einen anderen exit
, der zum Abmelden des Servers erforderlich ist?
Sie können die passwd-Datei direkt für den jeweiligen Benutzer ändern oder den folgenden Befehl verwenden
chsh -s /usr/local/bin/bash username
Dann abmelden und einloggen
which bash
bevor Sie den obigen Befehl aufrufen. Ihr Kilometerstand kann je nach Standort variieren. In meinem Fall wurde es in/bin/bash
chsh
Befehl Teil des util-linux
Pakets ist. und chsh -s $(which bash) $USER
sollte das gleiche wie oben ergeben.
-l
Option: "Liste der Muscheln drucken".
chsh -s /bin/bash username
für mich
Sie sollten /etc
wahrscheinlich irgendwo ein 'Skelett' /etc/skeleton
haben oder wahrscheinlich die Standardeinstellungen überprüfen/etc/default
oder so. Dies sind Skripte, die Standardumgebungsvariablen definieren, die während einer Anmeldung festgelegt werden.
Wenn es nur für Ihr eigenes Konto ist: Überprüfen Sie die (versteckte) Datei ~/.profile
und ~/.login
. Oder generieren Sie sie, wenn sie nicht existieren. Diese werden auch beim Anmeldevorgang ausgewertet.
/etc/default/useradd