Окружение

Вопрос

Что означают ошибки "Failed to stat device node file /dev/sda1: Permission denied" и "Failed to stat device node file /dev/vda1: Operation not permitted" в /var/log/syslog?

Ответ

Указанные сообщения свидетельствуют о попытках программ, запущенных в сессии с низким уровнем конфиденциальности, обратиться к файлам с более высоким уровнем конфиденциальности. Это нормальное поведение ОС при корректно работающих механизмах разграничения доступа.

/dev/sda1 — это специальный файл устройства, используемый ядром Linux для доступа к первому разделу, размещенному на устройстве /dev/sda. В Astra Linux каждому файлу присваивается метка безопасности, включающая в себя:

  • уровень конфиденциальности;
  • категорию конфиденциальности;
  • уровень целостности.

Подробнее о метках безопасности см. в статье Справочного центра Метка безопасности: структура и состав.

Чтобы предотвратить прямой доступ к содержимому разделов файловой системы, на соответствующие им файлы устройств с помощью скрипта /usr/sbin/pdp-init-fs устанавливается максимальный уровень конфиденциальности и целостности.

При входе в систему пользователь должен выбрать уровень конфиденциальности, который будет присвоен всем процессам, запущенным в сессии. Если уровень конфиденциальности процесса, обращающегося к файлу, будет ниже уровня конфиденциальности файла, то это приведет к ошибке доступа. Сообщение об ошибке будет передано в журнал системных сообщений (/var/log/syslog).

Чтобы узнать уровни конфиденциальности и целостности процесса, необходимо:

  1. Получить идентификатор процесса. Это можно сделать следующими способами:
    • Выполнить команду:

      ps aux
      CODE
    • С помощью утилиты "Системный монитор":

      • Меню "Пуск" — Системные — Системный монитор.
      • Если столбец PID не отображается, нажать <ПКМ> на строке заголовков таблицы и выбрать в открывшемся меню Показать столбец «PID».
  2. Выполнить команду:

    pdpl-ps <идентификатор_процесса>
    CODE

Чтобы узнать уровни конфиденциальности и целостности файла, необходимо выполнить команду:

pdpl-file <полный_путь_к_файлу>
CODE

Чтобы отключить запись в журнал указанных сообщений об ошибках, необходимо:

  1. Добавить в начало файла /etc/rsyslog.conf строки:

    :msg, contains, "Failed to stat device node file /dev/sda1: Permission denied" ~
    :msg, contains, "Failed to stat device node file /dev/sda2: Permission denied" ~
    CODE
  2. Перезапустить службу журнала системных сообщений rsyslog:

    sudo systemctl restart rsyslog
    CODE