plucky (5) proc.5.gz

Provided by: manpages-pl_4.25.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 (since Linux 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 (since Linux 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 (since Linux 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

       Many  files  contain  strings  (e.g., the environment and command line)  that are in the internal format,
       with subfields terminated by null bytes ('\0').  When inspecting  such  files,  you  may  find  that  the
       results are more readable if you use a command of the following form to display them:

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