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/bashjetzt. 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 -sOption
/etc/passwd, aber ich habe sie nicht überprüft.
exec /bin/bashzu ~/.profileund dies erlaubte mir , ohne dass Änderungen an den Server direkt zu bash einzuloggen. (Die ursprüngliche Standard-Shell war nur /bin/sh)
exitBash 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 bashbevor Sie den obigen Befehl aufrufen. Ihr Kilometerstand kann je nach Standort variieren. In meinem Fall wurde es in/bin/bash
chshBefehl Teil des util-linuxPakets ist. und chsh -s $(which bash) $USERsollte das gleiche wie oben ergeben.
-lOption: "Liste der Muscheln drucken".
chsh -s /bin/bash usernamefür mich
Sie sollten /etcwahrscheinlich irgendwo ein 'Skelett' /etc/skeletonhaben 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 ~/.profileund ~/.login. Oder generieren Sie sie, wenn sie nicht existieren. Diese werden auch beim Anmeldevorgang ausgewertet.
/etc/default/useradd