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

Linux man-pages 6.8                              19 maja 2024 r.                                         proc(5)