Provided by: manpages-de-dev_0.10-1_all bug

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