Provided by: manpages-pl_4.23.1-1_all bug

NAZWA

       proc - pseudosystem plików z informacjami o procesach, systemie i sysctl

OPIS

       proc  jest  pseudosystemem  plików,  który  udostępnia interfejs do struktur danych jądra.
       Zazwyczaj jest montowany w katalogu  /proc.  Zwykle  jest  montowany  automatycznie  przez
       system, lecz można go zamontować również ręcznie za pomocą polecenia takiego jak:

           mount -t proc proc /proc

       Większość  plików  w  systemie  plików  proc  jest  przeznaczonych  tylko do odczytu, lecz
       niektóre pliki są dostępne do zapisu, umożliwiając modyfikacje zmiennych jądra.

   Opcje montowania
       System plików proc obsługuje następujące opcje montowania:

       hidepid=n (od Linuksa 3.3)
              Opcja kontroluje kto może uzyskać dostęp  do  informacji  w  katalogach  /proc/pid.
              Argument n przyjmuje jedną z następujących wartości:

              0   Wszyscy  mają  dostęp  do  katalogów /proc/pid. Jest to tradycyjne zachowanie i
                  domyślne, jeśli nie użyje się tej opcji montowania.

              1   Użytkownicy nie mogą uzyskać dostępu do  plików  i  podkatalogów  w  katalogach
                  /proc/pid  innych  niż ich własne (same katalogi /proc/pid pozostają widoczne).
                  Wrażliwe pliki, takie jak /proc/pid/cmdline  i  /proc/pid/status  są  chronione
                  przed  innymi  użytkownikami. Dzięki temu niemożliwe staje się dowiedzenie się,
                  czy jakiś użytkownik uruchomił konkretny program (tak długo,  jak  sam  program
                  nie ujawnia tego swoim zachowaniem).

              2   Jak   w   trybie   1,  lecz  dodatkowo  katalogi  /proc/pid  przynależne  innym
                  użytkownikom pozostają niewidoczne. Oznacza to, że  wpisy  /proc/pid  nie  mogą
                  dłużej  służyć  do poznania PID-ów w systemie. Nie ukrywa to faktu, że proces o
                  określonym PID istnieje  (można  się  tego  dowiedzieć  innymi  sposobami,  np.
                  poprzez  „kill -0 $PID”), ale ukrywa UID i GID procesu, które w innym przypadku
                  można by było poznać wykonując  stat(2)  na  katalogu  /proc/pid.  To  znacznie
                  utrudnia zadanie atakującego polegające na pozyskaniu informacji o działających
                  procesach (np. odkrycie czy jakiś demon działa z większymi  uprawnieniami,  czy
                  jakiś  użytkownik ma uruchomiony jakiś wrażliwy program, czy inni użytkownicy w
                  ogóle mają coś uruchomione itd.).

              gid=gid (od Linuksa 3.3)
                  Określa ID grupy, której członkowie są  uprawnieni  do  dostępu  do  informacji
                  zablokowanych  innym przez hidepid (tzn. użytkownicy w tej grupie zachowują się
                  tak, jakby /proc zostało zamontowane  z  hidepid=0).  Powinno  się  używać  tej
                  grupy,  zamiast innych rozwiązań, takich jak umieszczanie użytkowników nie-root
                  w pliku sudoers(5).

       subset=pid (od Linuksa 5.8)
              Pokazuje jedynie określony podzestaw systemu procfs,  ukrywając  wszelkie  pliki  i
              katalogi głównego poziomu, które nie są związane z zadaniami.

   Przegląd
       W katalogu /proc występują następujące ogólne grupy plików i podkatalogów:

       Podkatalogi /proc/pid
              Każdy  z  tych  podkatalogów  zawiera  pliki i podkatalogi ujawniające informacje o
              procesach o określonym identyfikatorze procesu.

              W każdym z katalogów /proc/pid, znajduje się podkatalog task, zawierający  z  kolei
              podkatalogi  w  postaci task/tid, zawierający informacje o każdym z wątków procesu,
              gdzie tid jest identyfikatorem wątku przypisanym przez jądro danego wątkowi.

              Podkatalogi /proc/pid są widoczne przy odpytywaniu za pomocą getdents(2) (zatem  są
              widoczne gdy użytkownik użyje ls(1) do przeglądania zawartości /proc).

       Podkatalogi /proc/tid
              Każdy  z  tych  podkatalogów  zawiera  pliki i podkatalogi ujawniające informacje o
              wątku, według jego identyfikatora wątku. Zawartość podkatalogów jest taka sama, jak
              odpowiadających im katalogów /proc/pid/task/tid.

              Podkatalogi  /proc/tid  nie są widoczne, przy odczytywaniu katalogu /proc za pomocą
              getdents(2) (i co za tym idzie nie są widoczne, przy przeglądaniu zawartości  /proc
              za pomocą ls(1)).

       /proc/self
              Gdy  proces  uzyskuje  dostęp do tego magicznego dowiązania symbolicznego, jest ono
              tłumaczone na jego własny katalog /proc/pid.

       /proc/thread-self
              Gdy wątek uzyskuje dostęp do tego magicznego  dowiązania  symbolicznego,  jest  ono
              tłumaczone na jego własny katalog /proc/self/task/tid.

       /proc/[a-z]*
              Różne inne pliki i podkatalogi w katalogu /proc ujawniające informacje systemowe.

       Szczegółowy  opis  wszystkich  powyższych  pozycji  znajduje  się  w  oddzielnych stronach
       podręcznika systemowego, których nazwy zaczynają się od proc_.

UWAGI

       Wiele plików zawiera łańcuchy (np.  środowisko  czy  linia  poleceń),  które  występują  w
       postaci  wewnętrznej,  z  polami  zakończonymi bajtami NUL ('\0'), Przy sprawdzaniu takich
       plików, można się przekonać, że byłyby czytelniejsze, gdyby do  ich  odczytu  korzystać  z
       polecenia w następującej postaci:

           $ cat file | tr '\000' '\n'

ZOBACZ TAKŻE

       cat(1),  dmesg(1), find(1), free(1), htop(1), init(1), ps(1), pstree(1), tr(1), uptime(1),
       chroot(2), mmap(2), readlink(2), syslog(2), slabinfo(5), sysfs(5), hier(7), namespaces(7),
       time(7),   arp(8),  hdparm(8),  ifconfig(8),  lsmod(8),  lspci(8),  mount(8),  netstat(8),
       procinfo(8), route(8), sysctl(8)

       Pliki      w      źródłach      jądra      Linux:      Documentation/filesystems/proc.rst,
       Documentation/admin-guide/sysctl/fs.rst,      Documentation/admin-guide/sysctl/kernel.rst,
       Documentation/admin-guide/sysctl/net.rst i Documentation/admin-guide/sysctl/vm.rst.

TŁUMACZENIE

       Autorami  polskiego  tłumaczenia  niniejszej  strony   podręcznika   są:   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⟩.