proc_pid_root(5)

NAZWA
/proc/pid/root/ - dowiązanie symboliczne do katalogu głównego

OPIS

/proc/pid/root/
    UNIX i Linux wspierają pomysł określonego dla każdego procesu osobno katalogu głównego systemu plików, ustawianego przez wywołanie systemowe chroot(2). Plik ten wskazuje na katalog główny systemu plików i zachowuje się w ten sam sposób jak exe, fd/*, itp.

    Proszę jednak zauważyć, że nie jest to jedynie dowiązanie symboliczne. Zapewniany jest taki sam widok na system plików (w tym przestrzenie nazw i zestawy montowań na proces) jak przez sam proces. Oto przykład, który to ilustruje. W terminalu, uruchamiamy powłokę w nowych przestrzeniach nazw: użytkownika i montowania i w tej powłoce tworzymy nowe montowania:

        $ PS1='sh1# ' unshare -Urnm;
        sh1# mount -t tmpfs tmpfs /etc;  # Mont. pustego tmpfs w /etc
        sh1# mount --bind /usr /dev;     # Montowanie /usr w /dev
        sh1# echo $$;
        27123

    W drugim oknie terminala, w pierwotnej przestrzeni nazw montowań, sprawdzamy zawartość odpowiednich montowań w pierwotnych i nowych przestrzeniach nazw:

        $ PS1='sh2# ' sudo sh;
        sh2# ls /etc | wc -l;                  # W pierwotnej PN
        309
        sh2# ls /proc/27123/root/etc | wc -l;  # /etc w innej PN
        0                                     # Pusty katalog tmpfs
        sh2# ls /dev | wc -l;                  # W pierwotnej PN
        205
        sh2# ls /proc/27123/root/dev | wc -l;  # /dev w innej PN
        11                                    # W rzeczywist. zamont.
                                              # z podpięciem w /usr
        sh2# ls /usr | wc -l;                  # /usr w pierwotnej PN
        11

    W procesie wielowątkowym zawartość dowiązania symbolicznego /proc/pid/root nie jest dostępna, jeżeli wątek główny już się zakończył (zazwyczaj przez wywołanie pthread_exit(3)).

    Uprawnienie do rozwiązania lub odczytu (readlink(2)) tego dowiązania symbolicznego, zależy od sprawdzenia trybu dostępu PTRACE_MODE_READ_FSCREDS ptrace; zob. ptrace(2).

ZOBACZ TAKŻE
proc(5)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Robert Luberda <robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.