.\" -*- coding: UTF-8 -*- .\" Copyright (C) 1994, 1995, Daniel Quinlan .\" Copyright (C) 2002-2008, 2017, Michael Kerrisk .\" Copyright (C) 2023, Alejandro Colomar .\" .\" SPDX-License-Identifier: GPL-3.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH proc 5 "31 октября 2023 г." "Linux man\-pages 6.06" .SH ИМЯ proc \- process information, system information, and sysctl pseudo\-filesystem .SH ОПИСАНИЕ Файловая система \fBproc\fP — это псевдо\-файловая система, которая предоставляет интерфейс к структурам данных ядра. Обычно, она монтируется в \fI/proc\fP и это выполняется системой автоматически, но также можно монтировать её вручную с помощью команды: .P .in +4n .EX mount \-t proc proc /proc .EE .in .P .\" Большинство файлов файловой системы \fBproc\fP доступны только для чтения, но есть и доступные на запись, через которые можно изменять переменные ядра. .SS "Параметры монтирования" Файловая система \fBproc\fP поддерживает следующие параметры монтирования: .TP \fBhidepid\fP=\fIn\fP (начиная с Linux 3.3) .\" commit 0499680a42141d86417a8fbaa8c8db806bea1201 Позволяет управлять доступом к информации в каталогах \fI/proc/\fPpid. В аргументе \fIn\fP может указываться одно из следующих значений: .RS .TP 4 0 Все имеют доступ ко всем каталогам \fI/proc/\fPpid. Обычное поведение, используется по умолчанию, если этот параметр не указан. .TP 1 .\" As an additional bonus, since .\" .IR /proc/[pid]/cmdline .\" is inaccessible for other users, .\" poorly written programs passing sensitive information via .\" program arguments are now protected against local eavesdroppers. Пользователи не имеют доступа к файлам и подкаталогам любого каталога \fI/proc/\fPpid кроме их собственных (сами каталоги \fI/proc/\fPpid остаются видимыми). Важные файлы \fI/proc/\fPpid\fI/cmdline\fP и \fI/proc/\fPpid\fI/status\fP теперь защищены от других пользователей. Это делает невозможным увидеть какие программы запустил пользователь (до тех пор, пока сама программа не раскрывает себя своим поведением). .TP 2 Как режим 1, но дополнительно и каталоги \fI/proc/\fPpid, принадлежащие другим пользователям, становятся невидимыми. Это означает, что элементы \fI/proc/\fPpid теперь нельзя использовать для получения PID в системе. Это не скрывает факт того, что процесса с определённым PID не существует (это можно определить по другому, например, командой «kill \-0 $PID»), но это скрывает UID и GID процесса, которые можно было определять с помощью \fBstat\fP(2) на каталог \fI/proc/\fPpid. Это сильно усложняет атакующему задачу по сбору информации о выполняющихся процессах (например, определение того, запущены ли некоторые службы с повышенными правами, запустил ли другой пользователь некоторую важную программу, выполняет ли вообще какую\-либо программу другой пользователь и так далее). .RE .TP \fBgid\fP=\fIgid\fP (начиная с Linux 3.3) .\" commit 0499680a42141d86417a8fbaa8c8db806bea1201 .\" Задаёт ID группы, члены которой могут просматривать информацию о процессах в обход запрещению \fBhidepid\fP, (т. е. пользователям в этой группе кажется, что \fI/proc\fP смонтирована с \fIhidepid=0\fP). Эту группу нужно использовать вместо помещения непривилегированных пользователем в файл \fBsudoers\fP(5) для тех же целей. .SS Обзор В каталоге \fI/proc\fP существуют следующие общие группы файлов и подкаталогов: .TP Подкаталоги \fI/proc/\fPpid Каждый из этих подкаталогов включает файлы и подкаталоги, которые содержат информацию о процессе с соответствующим ID процесса. .IP В каждом каталоге \fI/proc/\fPpid есть подкаталог \fItask\fP, включающий подкаталоги вида \fItask/\fPtid, которые содержат информацию о каждой нить процесса, где \fItid\fP — ID нити ядра. .IP Подкаталоги \fI/proc/\fPpid видимы при обходе \fI/proc\fP с помощью \fBgetdents\fP(2) (и поэтому они видимы программам подобным \fBls\fP(1), которые используются для просмотра содержимого \fI/proc\fP). .TP Подкаталоги \fI/proc/\fPtid В каждом из этих подкаталогов содержатся файлы и подкаталоги с информацией о нити с соответствующим ID нити. Содержимое этих каталогов такое же как у соответствующих каталогов \fI/proc/\fPpid\fI/task/\fPtid. .IP Подкаталоги \fI/proc/\fPtid \fIне\fP видимы при обходе \fI/proc\fP с помощью \fBgetdents\fP(2) (и поэтому они \fIне\fP видимы программам подобным \fBls\fP(1), которые используются для просмотра содержимого \fI/proc\fP). .TP \fI/proc/self\fP Когда процесс обращается по этой символьной ссылке, она указывает на каталог \fI/proc/\fPpid самого процесса. .TP \fI/proc/thread\-self\fP Когда нить обращается по этой символьной ссылке, она указывает на каталог \fI/proc/self/task/\fPtid самого процесса. .TP \fI/proc/[a\-z]*\fP Другие файлы и подкаталоги в \fI/proc\fP предоставляют информацию о системе. .P .\" .\" .SH FILES .\" FIXME Describe /proc/[pid]/sessionid .\" commit 1e0bd7550ea9cf474b1ad4c6ff5729a507f75fdc .\" CONFIG_AUDITSYSCALL .\" Added in Linux 2.6.25; read-only; only readable by real UID .\" .\" FIXME Describe /proc/[pid]/sched .\" Added in Linux 2.6.23 .\" CONFIG_SCHED_DEBUG, and additional fields if CONFIG_SCHEDSTATS .\" Displays various scheduling parameters .\" This file can be written, to reset stats .\" The set of fields exposed by this file have changed .\" significantly over time. .\" commit 43ae34cb4cd650d1eb4460a8253a8e747ba052ac .\" .\" FIXME Describe /proc/[pid]/schedstats and .\" /proc/[pid]/task/[tid]/schedstats .\" Added in Linux 2.6.9 .\" CONFIG_SCHEDSTATS .\" FIXME Document /proc/sched_debug (since Linux 2.6.23) .\" See also /proc/[pid]/sched .\" FIXME 2.6.13 seems to have /proc/vmcore implemented; document this .\" See Documentation/kdump/kdump.txt .\" commit 666bfddbe8b8fd4fd44617d6c55193d5ac7edb29 .\" Needs CONFIG_VMCORE .\" Всё перечисленное выше далее будет описано подробней. .SH ЗАМЕЧАНИЯ Many files contain strings (e.g., the environment and command line) that are in the internal format, with subfields terminated by null bytes (\[aq]\e0\[aq]). 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: .P .in +4n .EX $\fB cat \fP\fIfile\fP\fB | tr \[aq]\e000\[aq] \[aq]\en\[aq]\fP .EE .in .\" .SH ACKNOWLEDGEMENTS .\" The material on /proc/sys/fs and /proc/sys/kernel is closely based on .\" kernel source documentation files written by Rik van Riel. .SH "СМ. ТАКЖЕ" \fBcat\fP(1), \fBdmesg\fP(1), \fBfind\fP(1), \fBfree\fP(1), \fBhtop\fP(1), \fBinit\fP(1), \fBps\fP(1), \fBpstree\fP(1), \fBtr\fP(1), \fBuptime\fP(1), \fBchroot\fP(2), \fBmmap\fP(2), \fBreadlink\fP(2), \fBsyslog\fP(2), \fBslabinfo\fP(5), \fBsysfs\fP(5), \fBhier\fP(7), \fBnamespaces\fP(7), \fBtime\fP(7), \fBarp\fP(8), \fBhdparm\fP(8), \fBifconfig\fP(8), \fBlsmod\fP(8), \fBlspci\fP(8), \fBmount\fP(8), \fBnetstat\fP(8), \fBprocinfo\fP(8), \fBroute\fP(8), \fBsysctl\fP(8) .P Файлы исходного кода ядра Linux: \fIDocumentation/filesystems/proc.rst\fP, \fIDocumentation/admin\-guide/sysctl/fs.rst\fP, \fIDocumentation/admin\-guide/sysctl/kernel.rst\fP, \fIDocumentation/admin\-guide/sysctl/net.rst\fP и \fIDocumentation/admin\-guide/sysctl/vm.rst\fP. .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov , kogamatranslator49 , Kogan, Max Is , Yuri Kozlov и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .