Provided by:
manpages-de-dev_0.10-1_all 
BEZEICHNUNG
chroot - Wurzelverzeichnis wechseln
"UBERSICHT
#include <unistd.h>
int chroot(const char *pfad);
Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):
chroot():
Seit Glibc 2.2.2:
_BSD_SOURCE ||
(_XOPEN_SOURCE >= 500 ||
_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) &&
!(_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)
Bis Glibc 2.2.2: Keine
BESCHREIBUNG
chroot() wechselt das Wurzelverzeichnis des aufrufenden Prozesses in
das durch pfad festgelegte. Dieses Verzeichnis wird fur Pfadnamen
verwendet, die mit / beginnen. Das Wurzelverzeichnis wird an alle
Kindprozesse des aufrufenden Prozesses vererbt.
Nur ein privilegierter Prozess kann chroot() aufrufen (Linux: einer mit
der Fahigkeit CAP_SYS_CHROOT).
Dieser Aufruf andert einen Bestandteil des Pfadauflosungsprozesses und
tut sonst nichts.
Dieser Aufruf andert nicht das aktuelle Arbeitsverzeichnis, so dass
sich '.' nach dem Aufruf auBerhalb des Baums mit der Wurzel bei '/'
befinden kann. Insbesondere kann der Superuser dem >>chroot-Gefangnis<<
entfliehen wie folgt:
mkdir foo; chroot foo; cd ..
Dieser Aufruf schlieBt keine gesoffneten Datei-Deskriptoren. Solche
Datei-Deskriptoren konnten Zugriff auf Dateien auBerhalb des
Chroot-Baumes gewahren.
R"UCKGABEWERT
Bei Erfolg wird Null zuruckgegeben. Bei einem Fehler wird -1
zuruckgegeben und errno entsprechend gesetzt.
FEHLER
In Abhangigkeit vom Dateisystem konnen andere Fehlerwerte zuruckgegeben
werden. Die haufigsten Fehler sind hier aufgelistet:
EACCES Die Sucherlaubnis auf einem Teil des Pfad-Prafix wurde
verweigert. (Siehe auch path_resolution(7).)
EFAULT pfad befindet sich auBerhalb Ihres verfugbaren Adressbereichs.
EIO Es ist ein E/A-Fehler aufgetreten.
ELOOP Es wurden zu viele symbolische Verweise bei der Auflosung von
pfad vorgefunden.
ENAMETOOLONG
pfad ist zu lang.
ENOENT Die Datei existiert nicht.
ENOMEM Es war zu wenig Kernelspeicher verfugbar.
ENOTDIR
Ein Teil von pfad ist kein gultiges Verzeichnis.
EPERM Der Aufrudende verfugt nicht uber ausreichende Privilegien
KONFORM ZU
SVr4, 4.4BSD, SUSv2 (als ALTLAST markiert). Diese Funktion ist nicht
Teil von POSIX.1-2001.
ANMERKUNGEN
Ein Kindprozess, der mit fork(2) erstellt wurde, erbt das
Wurzelverzeichnis seines Elternprozesses. Das Wurzelverzeichnis wird
von execve(2) unverandert gelassen.
FreeBSD verfugt uber einen starkeren Systemaufruf: jail().
SIEHE AUCH
chdir(2), path_resolution(7)
KOLOPHON
Diese Seite ist Teil der Veroffentlichung 3.32 des Projekts
Linux-man-pages. Eine Beschreibung des Projekts und Informationen, wie
Fehler gemeldet werden konnen, finden sich unter
http://www.kernel.org/doc/man-pages/.
"UBERSETZUNG
Die deutsche Ubersetzung dieser Handbuchseite wurde von Ralf Demmer
<rdemmer@rdemmer.de> und Chris Leick <c.leick@vollbio.de> erstellt.
Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General
Public License Version 3 oder neuer bezuglich der Copyright-
Bedingungen. Es wird KEINE HAFTUNG ubernommen.
Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden,
schicken Sie bitte eine E-Mail an <debian-l10n-
german@lists.debian.org>.