Проблема оказалась в том, что в Астре 1.8 СУБД Postgres с встроенными метками целостности и секретности данных (mac levels), и для пользователя postgres как для обычного системного пользователя установлен уровень целостности 0 или "Низкий" (то есть, пользователь не может администрировать ОС). А при подключении для установки пакетов требуется задать пользователю уровень целостности "Высокий" или 63, после чего PAM-модуль pam_sudo ругается в логах /var/log/auth.log вот таким сообщением:
sudo[3698]: pam_sudo(sudo:account): Permission denied because the current task label: 0:63:0:0.0 is out of available to the user labels. User postgres has min MAC label: 0:0, max MAC label: 0:0 and MIC level: 0.
Postgres в астре-1.7 с МКЦ есть, но 11й версии, чего стало мало для современного ПО, а установка postgresql-13 из расширенного репозитория astra-ce делает postgres системным пользователем с разрешением работы на высоком уровне целостности.
Решение: войти на консоль с низким уровнем целостности (либо выбрав "Низкий" в GUI-диалоге, либо введя 0 при консольном входе), подключиться к СУБД через sudo -u postgres psql
, настроить пароль для пользователя СУБД postgres, после чего войти с высоким уровнем целостности, добавить возможность сетевого входа для postgres по паролю (если нет) в файл pg_hba.conf, и перезапустить сервис postgresql. После чего управлять СУБД через подключение по IP-адресу 127.0.0.1 (или IPv6 ::1) с указанием пользователя postgres и пароля.
Альтернативное решение: задать пользователю ОС postgres разрешенный уровень целостности 63 с помощью pdpl-user: sudo pdpl-user -i 63 postgres
.