GNU/Linux >> Linux Esercitazione >  >> Linux

rbash – Imposta la shell con restrizioni in Linux

rbash sta per la shell bash con restrizioni. In UNIX, come quando si opera quando viene creato un utente, viene assegnata una shell predefinita (/bin/bash). Quindi un utente può spostarsi nelle directory di chiunque, quindi per evitare questa situazione possiamo assegnare la shell con restrizioni a un utente, la shell con restrizioni è proprio come un ambiente simile a una prigione o un ambiente chroot.

Perché rbash?

Se bash viene avviato con il nome rbash, o l'opzione -r viene fornita al momento dell'invocazione, la shell diventa limitata. Una shell con restrizioni viene utilizzata per impostare un ambiente più controllato rispetto alla shell standard. Si comporta in modo identico a bash con l'eccezione che quanto segue non è consentito o non viene eseguito:

  • cambiare directory con cd
  • impostare o disimpostare i valori di SHELL, PATH, ENV o BASH_ENV
  • specificando i nomi dei comandi contenenti /
  • specificando un nome file contenente una / come argomento per il comando integrato
  • Specificare un nome file contenente una barra come argomento dell'opzione -p del comando hash incorporato
  • importazione delle definizioni delle funzioni dall'ambiente shell all'avvio
  • analisi del valore di SHELLOPTS dall'ambiente shell all'avvio
  • Reindirizzamento dell'output utilizzando gli operatori di reindirizzamento>,>|, <>,>&, &> e>>
  • usando il comando integrato exec per sostituire la shell con un altro comando
  • aggiungere o eliminare comandi integrati con le opzioni -f e -d al comando integrato abilita
  • usando il comando enable builtin per abilitare i builtin della shell disabilitati
  • specificando l'opzione -p nel comando incorporato del comando.
  • disattivazione della modalità con restrizioni con set +r o set +o con restrizioni.

Come impostare una shell con restrizioni

Imposta l'ambiente che desideri per un particolare utente e puoi inserirlo nel file di avvio:$HOME/.bash_profile, come mostrato di seguito:

# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then 
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
bash -r

Ora accedi con l'utente e prova a cambiare le directory.

$ cd /etc/
bash: cd: restricted

$ cd /tmp/
bash: cd: restricted

Per l'impostazione di una shell con restrizioni per tutti gli utenti, crea un collegamento simbolico da /bin/bash a /bin/rbash:

# cd /bin
# ln -s bash rbash


Linux
  1. Come impostare la tua variabile $PATH in Linux

  2. Come impostare/creare variabili di ambiente e shell in Linux

  3. Come cambiare la shell in Linux

  4. Come configurare la shell Bash con restrizioni in Linux

  5. Servizio del sistema operativo Linux "lm_sensors"

Come impostare o modificare il nome host su Linux

Come modificare una shell utente in Linux

Spiegazione del comando sorgente su Linux

Che cos'è Subshell in Linux?

Che cos'è Login Shell in Linux?

8 tipi di shell Linux