procfs
procfs ( proc ess f ile s ystem) — виртуальная файловая система (не занимающая места на диске), которая может использоваться для отображения и изменения информации о системе и процессах. Она создаётся ядром и монтируется в /proc .
sysfs является похожей и более новой реализацией, которая всё больше и больше заменяет элементы в 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
Смотрите также
- sysfs — виртуальная файловая система (не занимающая места на диске).
- Файловая система proc (Руководство по безопасности)
Ссылки
- ↑ Bug 406263 – Remove the two lines concerning proc and shm since they don't reflect the /etc/fstab file that is default in current state3 installation , Gentoo's Bugzilla Main Page , (Last modified) April 29th, 2012. Retrieved on October 23rd, 2015.
- ↑ Vasiliy Kulikov. procfs: add hidepid= and gid= mount options , Linux kernel source tree , January 10th, 2012. Retrieved on July 31st, 2015.