procfs
procfs (process filesystem) — виртуальная файловая система (не занимающая места на диске), которая может использоваться для отображения и изменения информации о системе и процессах. Она создаётся ядром и монтируется в /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/, например:
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.