НАИМЕНОВАНИЕ
/proc/pid/attr/ - security-related attributes
ОПИСАНИЕ
- /proc/pid/attr/
- Файлы в
этом
катале
предоставляют
программный
интерфейс
к модулям
безопасности.
Содержимое
этого
каталога
представляет
собой
файлы для
чтения и
записи
атрибутов
безопасности.
Этот
каталог
был
добавлен
для
поддержки
SELinux, но данный
программный
интерфейс
может
использоваться
для
поддержки
других
модулей
безопасности.
Как
работать с
этими
файлами
показано
на примере
с SELinux ниже.
- Данный
каталог
доступен
только,
если ядро
собрано с
параметром
CONFIG_SECURITY.
- /proc/pid/attr/current
(начиная с Linux
2.6.0)
- В этом
файле
представлены
текущие
атрибуты
безопасности
процесса.
- В SELinux этот
файл
используется
для
получения
контекста
безопасности
процесса.
До Linux 2.6.11 этот
файл
нельзя
было
использовать
для
задания
контекста
безопасности
(запись
была
запрещена),
так как
ограничение
безопасности
SELinux процесса
изменяется
при execve(2)
(смотрите
описание
/proc/pid/attr/exec ниже).
Начиная с Linux
2.6.11 в SELinux это
ограничение
снято и
началась
поддержка
операций
«установки»
посредством
записи в
эту ноду,
если это
допускается
политикой,
хотя
использование
данной
операции
подходит
только для
приложений,
которым
можно
доверять
управление
любым
желаемым
разделением
между
старым и
новым
контекстами
безопасности.
- До Linux 2.6.28 в SELinux
нитям не
разрешалось
внутри
многонитевого
процесса
задавать
свой
контекст
безопасности
через эту
ноду, так
как это
привело бы
к
нестыковке
контекстов
безопасности
нитей,
использующи[
общее
адресное
пространство.
Начиная с Linux
2.6.28 в SELinux это
ограничение
снято и
началась
поддержка
поддержка
операций
«установки»
для нитей
внутри
многонитевого
процесса,
если новый
контекст
безопасности
привязан к
старому
контексту
безопасности,
где связь
определена
политикой
и
гарантируется,
что новый
контекст
безопасности
является
поднабором
прав
старого
контекста
безопасности.
- Другие
модули
безопасности
могут
также
добавить
поддержку
операций
«установки»
через
запись в
эту ноду.
- /proc/pid/attr/exec
(начиная с Linux
2.6.0)
- В этом
файле
представлены
атрибуты,
назначаемые
процессу
при
последующем
execve(2).
- В SELinux это
необходимо
для
поддержки
перехода
роль/домен
и execve(2)
является
предпочтительным
местом
выполнения
таких
изменений,
так как
предлагает
лучший
контроль
над
инициализацией
процесса с
новой
меткой
безопасности
и
наследуемым
состоянием.
В SELinux этот
атрибут
сбрасывается
при execve(2) и
новая
программа
получает
поведение
по
умолчанию
для всех
вызовов execve(2),
которые
она может
сделать. В SELinux
процесс
может
задать
только
свой
атрибут в
/proc/pid/attr/exec.
- /proc/pid/attr/fscreate
(начиная с Linux
2.6.0)
- В этом
файле
представлены
атрибуты
для
назначения
файлам,
создаваемым
последующими
вызовами
open(2), mkdir(2), symlink(2) и
mknod(2).
- SELinux создаёт
этот файл
для
поддержки
создания
файла (с
помощью
вышеупомянутых
системных
вызовов) в
безопасном
состоянии,
исключая,
таким
образом,
риск
неправомерного
доступа,
который
можно
получить в
промежутке
между
созданием
и
назначением
атрибутов.
В SELinux этот
атрибут
сбрасывается
при execve(2),
поэтому
новой
программе
возвращается
поведение
по
умолчанию
при любых
вызовах
создания
файла, но
атрибут
сохраняется
между
несколькими
вызовами
создания
файла
внутри
программы,
пока она
явно его не
сбросит. В SELinux
процесс
может
установить
только
свой
атрибут
/proc/pid/attr/fscreate.
- /proc/pid/attr/keycreate
(начиная с Linux
2.6.18)
- If a process writes a security context into this file, all subsequently
created keys (add_key(2)) will be labeled with this context. For
further information, see the kernel source file
Documentation/security/keys/core.rst (or file
Documentation/security/keys.txt between Linux 3.0 and Linux 4.13,
or Documentation/keys.txt before Linux 3.0).
- /proc/pid/attr/prev
(начиная с Linux
2.6.0)
- Этот файл
содержит
контекст
безопасности
процесса
перед
последним
execve(2) —
предыдущее
значение
/proc/pid/attr/current.
- /proc/pid/attr/socketcreate
(начиная с Linux
2.6.18)
- Если
процесс
записывает
контекст
безопасности
в этот
файл, то
все
создаваемые
далее
сокеты
будут
помечены
этим
контекстом.
ПЕРЕВОД
Русский
перевод
этой
страницы
руководства
разработал(и)
Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>,
kogamatranslator49 <r.podarov@yandex.ru>, Darima Kogan
<silverdk99@gmail.com>, Max Is <ismax799@gmail.com>, Yuri Kozlov
<yuray@komyakino.ru>, Иван
Павлов <pavia00@gmail.com>
и Kirill Rekhov <krekhov.dev@gmail.com>
Этот
перевод
является
свободной
программной
документацией;
он
распространяется
на
условиях
общедоступной
лицензии GNU (GNU
General Public License - GPL,
https://www.gnu.org/licenses/gpl-3.0.html
версии 3 или
более
поздней) в
отношении
авторского
права, но
БЕЗ
КАКИХ-ЛИБО
ГАРАНТИЙ.
Если вы
обнаружите
какие-либо
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
сообщите
об этом
разработчику(ам)
по его(их)
адресу(ам)
электронной
почты или
по адресу
списка
рассылки
русских
переводчиков.