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

BEZEICHNUNG

       chroot - Wurzelverzeichnis wechseln

ÜBERSICHT

       #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 für 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 Fähigkeit
       CAP_SYS_CHROOT).

       Dieser Aufruf ändert einen Bestandteil des Pfadauflösungsprozesses und tut sonst nichts.

       Dieser Aufruf ändert nicht das aktuelle Arbeitsverzeichnis, so dass  sich  '.'   nach  dem
       Aufruf  außerhalb  des  Baums  mit der Wurzel bei '/' befinden kann. Insbesondere kann der
       Superuser dem »chroot-Gefängnis« entfliehen wie folgt:

           mkdir foo; chroot foo; cd ..

       Dieser Aufruf schließt keine  gesöffneten  Datei-Deskriptoren.  Solche  Datei-Deskriptoren
       könnten Zugriff auf Dateien außerhalb des Chroot-Baumes gewähren.

RÜCKGABEWERT

       Bei  Erfolg  wird  Null  zurückgegeben.  Bei  einem Fehler wird -1 zurückgegeben und errno
       entsprechend gesetzt.

FEHLER

       In Abhängigkeit vom  Dateisystem  können  andere  Fehlerwerte  zurückgegeben  werden.  Die
       häufigsten Fehler sind hier aufgelistet:

       EACCES Die  Sucherlaubnis  auf  einem  Teil  des Pfad-Präfix wurde verweigert. (Siehe auch
              path_resolution(7).)

       EFAULT pfad befindet sich außerhalb Ihres verfügbaren Adressbereichs.

       EIO    Es ist ein E/A-Fehler aufgetreten.

       ELOOP  Es wurden zu viele symbolische Verweise bei der Auflösung von pfad vorgefunden.

       ENAMETOOLONG
              pfad ist zu lang.

       ENOENT Die Datei existiert nicht.

       ENOMEM Es war zu wenig Kernelspeicher verfügbar.

       ENOTDIR
              Ein Teil von pfad ist kein gültiges Verzeichnis.

       EPERM  Der Aufrudende verfügt nicht über 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) unverändert gelassen.

       FreeBSD verfügt über einen stärkeren Systemaufruf: jail().

SIEHE AUCH

       chdir(2), path_resolution(7)

KOLOPHON

       Diese Seite  ist  Teil  der  Veröffentlichung  3.32  des  Projekts  Linux-man-pages.  Eine
       Beschreibung  des  Projekts  und  Informationen, wie Fehler gemeldet werden können, finden
       sich unter http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die deutsche Übersetzung dieser Handbuchseite wurde von Ralf  Demmer  <rdemmer@rdemmer.de>
       und Chris Leick <c.leick@vollbio.de> erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version  3  oder  neuer  bezüglich  der  Copyright-Bedingungen.  Es  wird  KEINE   HAFTUNG
       übernommen.

       Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-
       Mail an <debian-l10n-german@lists.debian.org>.