GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie ändere ich (dauerhaft) die Standard-Shell nach der Anmeldung bei einem bestimmten Ttyn in Linux?

Ich weiß, dass die chsh Der Befehl wird verwendet, um die Login-Shell für einen Benutzer zwischen installierten Shells zu wechseln, aber es funktioniert egal woher die Anmeldung kommt (tty1, tty2, ssh, …). Was ich erreichen möchte, ist z.B. csh bei Anmeldungen von tty7 und z.B. bash auf allen anderen Anmeldequellen.

Ist das überhaupt machbar?

Akzeptierte Antwort:

Nein und ja.

Nein, die Anmelde-Shell ist an den Benutzer gebunden, nicht an das TTY, wo sich der Benutzer anmeldet. Ein Benutzer kann nur eine bestimmte Anmelde-Shell haben.

Ja, der Benutzer kann in den Initialisierungsdateien der Login-Shell je nach Bedingung jedes andere Programm oder Dienstprogramm starten.

Zum Beispiel ein Benutzer mit bash da ihre aktuelle Login-Shell etwas wie das Folgende zu ihrem .bash_profile hinzufügen könnte Datei zum Ausführen von csh beim Einloggen am virtuellen Terminal 7:

case $(tty) in
    */tty7) exec csh -l ;;
esac

exec csh -l würde die aktuelle Shell durch csh ersetzen , gestartet als Login-Shell.


Linux
  1. So ändern Sie das standardmäßige Apache-Verzeichnis „DocumentRoot“ in Linux

  2. So ändern Sie die Shell unter Linux

  3. CentOS / RHEL :So ändern Sie die Anmelde-Shell des Benutzers

  4. Ändern der Standard-Shell in Linux

  5. Wie ändere ich meine Standard-Shell auf einem Domänenkonto

So deaktivieren Sie die SSH-Anmeldung für einen bestimmten Benutzer in Linux

So ändern Sie die Standard-Shell im Linux-System

So ändern Sie eine Benutzer-Shell in Linux

So ändern Sie den Benutzer unter Linux

So ändern Sie die IP-Adresse unter Linux

Was ist die Login-Shell in Linux?