GNU/Linux >> Linux Esercitazione >  >> Linux

Come modificare (permanentemente) la shell predefinita dopo l'accesso su un Ttyn specifico in Linux?

So che il chsh Il comando viene utilizzato per cambiare la shell di accesso di un utente tra le shell installate, ma funziona indipendentemente da dove proviene il login (tty1, tty2, ssh, …). Quello che mi piacerebbe ottenere è avere ad es. csh sugli accessi da tty7 e ad es. bash su tutte le altre fonti di accesso.

È fattibile?

Risposta accettata:

No e sì.

No, la shell di accesso è legata all'utente, non al TTY in cui l'utente effettua l'accesso. Un utente può avere solo una shell di accesso specifica.

Sì, l'utente può, nei file di inizializzazione della shell di accesso, avviare qualsiasi altro programma o utilità a seconda di qualsiasi condizione.

Ad esempio, un utente con bash poiché la loro attuale shell di accesso potrebbe aggiungere qualcosa di simile al seguente al loro .bash_profile per eseguire csh quando si accede al terminale virtuale 7:

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

exec csh -l sostituirebbe la shell corrente con csh , iniziato come shell di accesso.


Linux
  1. Come modificare la directory predefinita di Apache "DocumentRoot" in Linux

  2. Come cambiare la shell in Linux

  3. UNIX / Linux:come forzare l'utente a cambiare la propria password al prossimo accesso dopo che la password è stata reimpostata

  4. Come modificare la shell predefinita in Linux

  5. Come posso modificare il gruppo predefinito di un utente in Linux?

Come disabilitare l'accesso SSH a un utente specifico in Linux

Come modificare la shell predefinita nel sistema Linux

Come modificare una shell utente in Linux

Come cambiare utente su Linux

Come modificare l'indirizzo IP su Linux

Che cos'è Login Shell in Linux?