Смоленск 1.6 PostgreSQL — пользователь без метки.
При обращении пользователя к БД определяются его допустимый диапазон меток и набор специальных мандатных атрибутов. Если пользователю не присвоена метка, то он получает по умолчанию нулевую метку, соответствующую минимальному уровню доступа.
1) после прохождения пользователем стандартной процедуры аутентификации сервер считывает из ОС значения максимальной и минимальной меток пользователя и принимает их как максимальную и минимальную метки сессии. При этом, если запись о метках для пользователя не найдена, то максимальная и минимальная метки принимаются равными нулю. Следовательно, пользователи, зарегистрированные 72 РУСБ.10015-01 97 01-1 только в сервере СУБД PostgreSQL и не имеющие учетной записи в ОС сервера, всегда имеют минимальный уровень доступа к информации;
В случае, если пользователь СУБД не зарегистрирован в ОС на стороне сервера СУБД, все его мандатные атрибуты имеют нулевое значение.
create user test with password 'test';
psql test -h localhost Пароль пользователя test: psql: СБОЙ: error obtaining MAC configuration for user "test"
error obtaining MAC configuration for user "test", error 2 - Нет такого файла или каталога
usermod -a -G shadow postgres setfacl -d -m u:postgres:r /etc/parsec/macdb setfacl -R -m u:postgres:r /etc/parsec/macdb setfacl -m u:postgres:rx /etc/parsec/macdb setfacl -d -m u:postgres:r /etc/parsec/capdb setfacl -R -m u:postgres:r /etc/parsec/capdb setfacl -m u:postgres:rx /etc/parsec/capdb
Что я делаю не так? Цель — подключиться пользователем СУБД, не зарегистрированным в ОС, получив при этом минимальную метку ‘<0,0>‘, как и сказано в документации. Вариант с отключением мандатного доступа (как для apache AstraMode off) для СУБД целиком тоже подойдёт, но я не нашёл, как это сделать.0,0>