Befehl "chroot"
Zweck
Ändert das Stammverzeichnis eines Befehls.
Syntax
chroot Verzeichnis Befehl
Beschreibung
Achtung: Wenn bestimmte Dateien im neuen Stammverzeichnis andere Haupt- und Nebengerätenummern als im aktuellen Stammverzeichnis, kann das Dateisystem überschrieben werden.
Der Befehl chroot kann nur von einem Benutzer mit Rootberechtigung verwendet werden. Wenn Sie Rootberechtigung haben, ändert der Befehl chroot das Stammverzeichnis in das mit dem Parameter Verzeichnis angegebene Verzeichnis, wenn der angegebene Befehl ausgeführt wird. Der erste Schrägstrich (/) in einem Pfadnamen wird für den angegebenen Befehl und dessen Unterbefehle in das angegebene Verzeichnis geändert.
Der Pfadname für das angegebene Verzeichnis ist immer relativ zum aktuellen Stammverzeichnis. Selbst wenn der Befehl chroot aktiv ist, ist der Pfadname für das angegebene Verzeichnis relativ zum aktuellen Stammverzeichnis des aktiven Prozesses.
Die meisten Programme funktionieren nach der Ausführung des Befehls chroot vermutlich nicht ordnungsgemäß. So sind beispielsweise Befehle, die die gemeinsam genutzten Bibliotheken verwenden, nicht erfolgreich, wenn sich die gemeinsam genutzten Bibliotheken nicht im neuen Stammdateisystem befinden. Die am häufigsten verwendete gemeinsam genutzte Bibliothek ist die Bibliothek /usr/ccs/lib/libc.a.
Killed und nichts mehr zurück.Parameter
| Element | Beschreibung |
|---|---|
| Befehl | Gibt einen Befehl an, der mit dem Befehl chroot ausgeführt werden soll. |
| directory | Gibt das neue Stammverzeichnis an. |
Sicherheit
Hinweis für Benutzer von RBAC und Trusted AIX® :Dieser Befehl kann privilegierte Operationen ausführen. Privilegierte Operationen können nur von privilegierten Benutzern ausgeführt werden. Weitere Informationen zu Berechtigungen und Autorisierungen finden Sie im Abschnitt "Privileged Command Database" in der Veröffentlichung Security. Eine Liste der Privilegien und Berechtigungen für diesen Befehl finden Sie in den Beschreibungen des Befehls lssecattr und des Unterbefehls getcmdattr.
Beispiele
Achtung: Die Befehle in den folgenden Beispielen hängen möglicherweise von gemeinsam genutzten Bibliotheken ab. Stellen Sie sicher, dass sich die gemeinsam genutzten Bibliotheken im neuen Stammdateisystem befinden, bevor Sie den Befehl chroot ausführen.
- Geben Sie Folgendes ein, um den Befehl pwd mit dem Verzeichnis /usr bin als Stammdateisystem auszuführen:
mkdir /usr/bin/lib cp /usr/ccs/lib/libc.a /usr/bin/lib cp /usr/lib/libcrypt.a /usr/bin/lib chroot /usr/bin pwd - Geben Sie Folgendes ein, um eine Subshell der Korn-Shell mit einem anderen Dateisystem als dem Stammdateisystem auszuführen:
Dadurch verweist der Verzeichnisname/(Schrägstrich) auf die/var/tmpfür die Dauer der/usr/bin/kshverwenden kann. Außerdem macht er das ursprüngliche Stammdateisystem unzugänglich. Das Dateisystem auf dem/var/tmpDie Datei muss die Standardverzeichnisse eines Stammdateisystems enthalten. Insbesondere sucht die Shell nach Befehlen in der/binund/usr/binDateien auf dem/var/tmpDateisystem.chroot /var/tmp /usr/bin/kshAusführen des/usr/bin/ksherstellt eine Subshell, die als Prozess ausgeführt wird, der von der ursprünglichen Shell getrennt ist. Drücken Sie die Tastenkombination für Dateiende (Strg-D), um die Subshell zu beenden und an die Position zurückzukehren, an der Sie sich in der ursprünglichen Shell befunden haben. Dadurch wird die Umgebung der ursprünglichen Shell einschließlich der Bedeutungen der wiederhergestellt. (aktuelles Verzeichnis) und das Stammverzeichnis (/).
- Geben Sie Folgendes ein, um eine Datei relativ zum ursprünglichen Stammverzeichnis und und nicht zum neuen Stammverzeichnis zu erstellen:
chroot directory Command > file
Dateien
| Element | Beschreibung |
|---|---|
| /etc/passwd | Gibt die Datei an, die Basisbenutzerattribute enthält. |
| /usr/ccs/lib/libc.a | Gibt die Standard-E/A-Bibliothek und die Standard-C-Bibliothek an. |
| /usr/ccs/lib/libcurses.a | Gibt die curses-Bibliothek an. |
| /usr/lib/liblvm.a | Gibt die LVM-Bibliothek (Logical Volume Manager) an. |
| /usr/ccs/lib/libm.a | Gibt die mathematische Bibliothek an. |
| /usr/lib/libodm.a | Gibt die ODM-Bibliothek (Object Data Manager) an. |
| /usr/sbin/chroot | Enthält den Befehl chroot. |