procfs

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Procfs and the translation is 100% complete.
Other languages:


procfs (process filesystem) — виртуальная файловая система (не занимающая места на диске), которая может использоваться для отображения и изменения информации о системе и процессах. Она создаётся ядром и монтируется в /proc.

sysfs является похожей и более новой реализацией, которая всё больше и больше заменяет элементы в procfs.

Установка

Ядро

Активируйте следующие параметры ядра:

ЯДРО Включение поддержки procfs
File systems  --->
    Pseudo filesystems  --->
        <*> /proc file system support

Конфигурация

OpenRC

/proc монтируется сценарием OpenRC /lib/rc/sh/init.sh[1]:

user $mount | grep proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)

Сценарий инициализации /etc/init.d/procfs находится на уровне запуска boot:

user $/sbin/rc-update | grep procfs
procfs | boot

Ограничение доступа к каталогам PID

procfs поддерживает параметр монтирования hidepid для ограничения доступа к /proc/<pid> другим пользователям. Это механизм укрепления безопасности, делающий более трудным попытку злонамеренным локальным пользователям получить информацию о других пользователях [2].

Значение Описание
hidepid=0 Файлы в каталогах /proc/<pid>/* будут доступны по чтению всем. Это поведение по умолчанию.
hidepid=1 Файлы /proc/<pid> в каталогах видны для всех пользователей, но доступ будет только к тем каталогам /proc/<pid>, владельцами которых они являются. Это защищает файлы типа /proc/<pid>/cmdline, которые могут содержать чувствительную информацию.
hidepid=2 То же самое поведение, что и для hidepid=1, но каталоги /proc/<pid> для других пользователей скрыты. Так как это скроет всю информацию о процессах для всех пользователей кроме суперпользователя, может быть полезным предоставить доступ для привилегированных пользователей, находящихся в группе wheel.

Параметр монтирования hidepid может быть автоматически сконфигурирован при монтировании /proc/, например:

ФАЙЛ /etc/fstabСокрытие информации о процессах от других пользователей, кроме тех, что находятся в группе wheel
proc     /proc     proc     nosuid,nodev,noexec,hidepid=2,gid=wheel     0 0

Использование

Смотрите статью в Википедии для описания предназначения каждого из файлов.

Используйте cat для чтения информации. Например, пользователи могут получить версию о текущем ядре с помощью следующей команды:

user $cat /proc/version

Используйте echo для установки значений на лету (если это возможно). Например, пользователи могут включить клавиши Magic SysRq с помощью следующей команды:

root #echo 1 > /proc/sys/kernel.sysrq

sysctl

См. также
Информация об использовании sysctl доступна на: Sysctl

Смотрите также

Ссылки