Ich habe einen neuen Befehl gelernt, dachte ich zumindest, weil sich dieser Befehl: chsh
nicht wie beschrieben verhält.
Es wurde beschrieben, wie es funktioniert:
cat /etc/shells
um zu wissen, welche Shells installiert sind, können Sie zwischen ihnen wählen.- tun, um
echo $SHELL
zu wissen, welche Shell Sie verwenden. - Wählen Sie eine der Muscheln und geben Sie ein
chsh -s /path/to/shell
- Geben Sie das Passwort ein und vergewissern
echo $SHELL
Sie sich, dass Sie sich in einer neuen Shell befinden.
Ich habe dies getan und bei der Eingabe des Passworts keine Fehlermeldung erhalten, aber ich befand mich immer noch in derselben Shell.
% echo $SHELL
/bin/bash
% cat /etc/shells
# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
% chsh -s /bin/sh
Password:
% echo $SHELL
/bin/bash
Antworten:
Melden Sie sich ab und wieder an.
Der
chsh
Befehl aktualisiert die/etc/passwd
Datei, ändert jedoch weder die aktuelle Shell noch den Wert der$SHELL
Variablen in der aktuellen Shell (dies ist nicht möglich). Aus diesem Grund müssen Sie sich erneut anmelden. Sie müssen eine neue Anmeldesitzung starten, damit eine Änderung wirksam wird.quelle
/etc/passwd
erst gelesen werden, wenn Sie sich das nächste Mal anmelden. Sie müssen sich vollständig abmelden und erneut anmelden, damit die Änderung wirksam wird. Wenn Sie dies nicht tun, funktioniert auch ein Neustart des Computers.Die Verwendung des Dienstprogramms usermod funktionierte in meinem Fall. Laufen auf dem Ubuntu 18.04.
grep nameofuser /etc/passwd
sudo usermod --shell /bin/bash nameofuser
grep nameofuser /etc/passwd
quelle