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

rbash – Setze eingeschränkte Shell in Linux

rbash steht für die eingeschränkte Bash-Shell. In UNIX wird wie beim Erstellen eines Benutzers eine Standard-Shell (/bin/bash) zugewiesen. Ein Benutzer kann sich also in die Verzeichnisse von jedem bewegen, um diese Situation zu vermeiden, können wir einem Benutzer die eingeschränkte Shell zuweisen, die eingeschränkte Shell ist genau wie eine Jail-ähnliche Umgebung oder Chroot-Umgebung.

Warum Rbash?

Wenn bash mit dem Namen rbash gestartet wird oder beim Aufruf die Option -r angegeben wird, wird die Shell eingeschränkt. Eine eingeschränkte Shell wird verwendet, um eine Umgebung einzurichten, die kontrollierter ist als die Standard-Shell. Es verhält sich identisch mit Bash, mit der Ausnahme, dass Folgendes nicht erlaubt ist oder nicht ausgeführt wird:

  • Verzeichniswechsel mit CD
  • Setzen oder Deaktivieren der Werte von SHELL, PATH, ENV oder BASH_ENV
  • Befehlsnamen angeben, die / enthalten
  • Angeben eines Dateinamens mit einem / als Argument für den eingebauten Befehl
  • Angeben eines Dateinamens mit einem Schrägstrich als Argument für die Option -p des eingebauten Hash-Befehls
  • Importieren von Funktionsdefinitionen aus der Shell-Umgebung beim Start
  • Parsen des Wertes von SHELLOPTS aus der Shell-Umgebung beim Start
  • Umleitung der Ausgabe mit den Umleitungsoperatoren>,>|, <>,>&, &> und>> Umleitung
  • den eingebauten Befehl exec verwenden, um die Shell durch einen anderen Befehl zu ersetzen
  • Integrierte Befehle mit den Optionen -f und -d zum integrierten Befehl enable hinzufügen oder löschen
  • den Befehl enable builtin verwenden, um deaktivierte Shell-Builts zu aktivieren
  • Angabe der Option -p für den integrierten Befehl des Befehls.
  • Ausschalten des eingeschränkten Modus mit set +r oder set +o limited.

So stellen Sie eine eingeschränkte Shell ein

Stellen Sie die gewünschte Umgebung für einen bestimmten Benutzer ein und legen Sie die Startdatei ab:$HOME/.bash_profile, wie unten gezeigt:

# .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

Melden Sie sich jetzt mit dem Benutzer an und versuchen Sie, die Verzeichnisse zu ändern.

$ cd /etc/
bash: cd: restricted

$ cd /tmp/
bash: cd: restricted

Erstellen Sie zum Einstellen der eingeschränkten Shell für alle Benutzer einen symbolischen Link von /bin/bash zu /bin/rbash:

# cd /bin
# ln -s bash rbash


Linux
  1. So setzen Sie Ihre $PATH-Variable in Linux

  2. So setzen/erstellen Sie Umgebungs- und Shell-Variablen in Linux

  3. So konfigurieren Sie eine eingeschränkte Bash-Shell unter Linux

  4. Linux-Betriebssystemdienst „lm_sensors“

  5. Wie setze ich $PATH dauerhaft unter Linux/Unix?

So legen Sie den Hostnamen unter Linux fest oder ändern ihn

So ändern Sie eine Benutzer-Shell in Linux

Quellbefehl unter Linux erklärt

Was ist Subshell in Linux?

Was ist die Login-Shell in Linux?

8 Arten von Linux-Shells