Перейти к основному содержимому
Версия: 2.5

Контроль целостности

Перед выполнением команд start и restart утилита pamirctl автоматически проверяет целостность образов контейнеров и конфигурационных файлов приложения. Эталонные контрольные суммы встроены в бинарник утилиты при сборке и не зависят от внешних файлов.

Поведение при нарушении целостности:

  • Образы контейнеров — несоответствие контрольной суммы или отсутствие образа блокирует запуск/перезапуск с ошибкой.
  • Конфигурационные файлы — несоответствие контрольной суммы запуск не блокирует, но фиксируется в лог аудита с уровнем WARN.

Все события контроля целостности записываются в лог аудита:

  • /var/log/pamirctl-audit-YYYY-MM-DD-HH-MM-SS.log — при запуске от суперпользователя;
  • ~/.pamirctl-audit-YYYY-MM-DD-HH-MM-SS.log — при запуске от обычного пользователя.

Лог аудита полезен для анализа причин отказа запуска, а также для аудита факта обновления приложения (в нём фиксируются все изменения образов и конфигурационных файлов).

Сервер и Проба на одном хосте

Контроль целостности выполняется только для сервера Памир: для Пробы проверки не выполняются, а на хосте, где установлена только Проба, демон контроля целостности не работает. При совместной установке сервера и Пробы контроль целостности общего образа rabbitmq не выполняется. Подробнее — в разделе Контроль целостности при совместной установке руководства по Пробе.

Просмотр и экспорт контрольных сумм​

Просмотреть эталонные контрольные суммы, встроенные в бинарник, можно командой:

# Контрольные суммы образов контейнеров
pamirctl sums

# Контрольные суммы конфигурационных файлов
pamirctl sums --show-config

Экспортировать суммы в файл (без цветового форматирования):

pamirctl sums -o digests.json
pamirctl sums --show-config -o configs.json

Передать файл с суммами на внешний сервер по SSH:

pamirctl sums -o /tmp/digests.json
scp /tmp/digests.json user@audit-server:/srv/pamir-audit/digests.json

Загрузить файл с суммами на внешний сервер через HTTP:

pamirctl sums -o /tmp/digests.json
curl -s -X POST https://audit.example.com/upload \
-F "file=@/tmp/digests.json"

Проверка контрольных сумм​

Флаг --verify выполняет живую проверку: запрашивает фактические ImageID у Docker Engine и вычисляет SHA-256 файлов конфигурации, после чего сравнивает их с эталонными значениями, встроенными в бинарник. Для каждого объекта выводится эталонное значение, актуальное значение и статус.

pamirctl sums --verify

Статусы проверки:

СтатусОбъектЗначение
OKОбразы / конфигурацияКонтрольная сумма совпадает с эталоном
ERRORОбразНесоответствие ImageID — аналог блокировки при start
WARNINGФайл конфигурацииНесоответствие суммы файла — не блокирует, но требует внимания

Если обнаружены нарушения, команда завершается с ненулевым кодом возврата. Все результаты дополнительно фиксируются в лог аудита.

Результаты можно сохранить в файл (без цветового форматирования):

pamirctl sums --verify -o /tmp/verify-report.txt
Пример вывода команды pamirctl sums --verify
# pamirctl sums --verify
2026/10/01 16:46:01 INFO Проверка контрольных сумм образов успешно пройдена count=34
Образы контейнеров (34):

pamir.io/acme-companion:2.2.9
Эталон: sha256:e3afd63aa144c5132746ca0cdb6a8c010c32de96c916793f1b96509d60cffb49
Актуально: sha256:e3afd63aa144c5132746ca0cdb6a8c010c32de96c916793f1b96509d60cffb49
Статус: OK

pamir.io/alertmanager:0.27.0
Эталон: sha256:dfc1c7282cf80920230096a51535aa67df2637ddad55fcd8a47ce334156050e1
Актуально: sha256:dfc1c7282cf80920230096a51535aa67df2637ddad55fcd8a47ce334156050e1
Статус: OK

pamir.io/auth:2.5.0-rc.378
Эталон: sha256:93ed1de9975fe9300924aebf5911422acbb07360e5fc48ecb8bde42b9ac9fc14
Актуально: sha256:93ed1de9975fe9300924aebf5911422acbb07360e5fc48ecb8bde42b9ac9fc14
Статус: OK

pamir.io/blackbox_exporter:0.20.0
Эталон: sha256:ac4649e8ec44da5bb09e86cb2ccf52f8ddd314491c672693fab4cb00cf8f4199
Актуально: sha256:ac4649e8ec44da5bb09e86cb2ccf52f8ddd314491c672693fab4cb00cf8f4199
Статус: OK

pamir.io/cadvisor:v0.50.0
Эталон: sha256:255828bc23445633fb11beef46b1ae8bad98a339d0f91730e17b1dc132817fb1
Актуально: sha256:255828bc23445633fb11beef46b1ae8bad98a339d0f91730e17b1dc132817fb1
Статус: OK

pamir.io/docker-tool:2.5.0-rc.261
Эталон: sha256:a9c27e2ad82bf0b4c266c8b5cd094ddb98bb563ac9c922bd7a8b2f3bade047bb
Актуально: sha256:a9c27e2ad82bf0b4c266c8b5cd094ddb98bb563ac9c922bd7a8b2f3bade047bb
Статус: OK

pamir.io/docker_state_exporter:v1.0.0
Эталон: sha256:6bc16092447d50a94507012215de92cbf439f5983b20aff67add5f5bd9d67f84
Актуально: sha256:6bc16092447d50a94507012215de92cbf439f5983b20aff67add5f5bd9d67f84
Статус: OK

pamir.io/elasticsearch_exporter:v1.10.0
Эталон: sha256:81af476701e452cbb53ea03c44d362777a2d824b00f2332d1abd46c55f36cc0f
Актуально: sha256:81af476701e452cbb53ea03c44d362777a2d824b00f2332d1abd46c55f36cc0f
Статус: OK

pamir.io/flower:2.0.1
Эталон: sha256:390ffe0d392150c0628f1b921f8d8ec43d0c77c0eef807a91d2d8b28b662affe
Актуально: sha256:390ffe0d392150c0628f1b921f8d8ec43d0c77c0eef807a91d2d8b28b662affe
Статус: OK

pamir.io/fluent-bit:2.1.8
Эталон: sha256:59297821641ab08bf8175c4c77e584f6248e3b8058d7515426a9978692056000
Актуально: sha256:59297821641ab08bf8175c4c77e584f6248e3b8058d7515426a9978692056000
Статус: OK

pamir.io/frontend:2.5.0-rc.634
Эталон: sha256:012edf92b842bdd11aac4ed71faa2f841aadb5ef0b97372146e315531aed8dc5
Актуально: sha256:012edf92b842bdd11aac4ed71faa2f841aadb5ef0b97372146e315531aed8dc5
Статус: OK

pamir.io/jmx_exporter:latest
Эталон: sha256:e8de417db25576dc205d2fbf57a42297a391fb88cf81657678f1fdf3a12d2e5a
Актуально: sha256:e8de417db25576dc205d2fbf57a42297a391fb88cf81657678f1fdf3a12d2e5a
Статус: OK

pamir.io/json_exporter:1.3.0
Эталон: sha256:356d30044f1db37aeb0c990377adddf423e2c84d86990d09aaa7cdf934c780e6
Актуально: sha256:356d30044f1db37aeb0c990377adddf423e2c84d86990d09aaa7cdf934c780e6
Статус: OK

pamir.io/license:2.5.0-rc.257
Эталон: sha256:ab8f1b9b64e7741dc9dbcb3406a36d6f2ee6e4ef2cf41dc52b93458b2b90c60e
Актуально: sha256:ab8f1b9b64e7741dc9dbcb3406a36d6f2ee6e4ef2cf41dc52b93458b2b90c60e
Статус: OK

pamir.io/logstash:9.2.4
Эталон: sha256:eda7f6f99c24c4a36a02d20ef008cb09606ae4cae9a798e54c9bf80d5cd6d0ca
Актуально: sha256:eda7f6f99c24c4a36a02d20ef008cb09606ae4cae9a798e54c9bf80d5cd6d0ca
Статус: OK

pamir.io/monitoring:2.5.0-rc.531
Эталон: sha256:73107a6d8828f95c3dcb3386e7a2fb86a7be5cb42ece48bf8fea154453e33738
Актуально: sha256:73107a6d8828f95c3dcb3386e7a2fb86a7be5cb42ece48bf8fea154453e33738
Статус: OK

pamir.io/nginxlog_exporter:1.11.0
Эталон: sha256:3c043079868708584d74d471840cdecccdf29c60f0beda87a7fd0f8a4c8b7211
Актуально: sha256:3c043079868708584d74d471840cdecccdf29c60f0beda87a7fd0f8a4c8b7211
Статус: OK

pamir.io/notification:2.5.0-rc.293
Эталон: sha256:771041d2599cc185fb88b5473e58f4dc61672553e29182d22e3d0ec486b405fb
Актуально: sha256:771041d2599cc185fb88b5473e58f4dc61672553e29182d22e3d0ec486b405fb
Статус: OK

pamir.io/openldap:2.5.13
Эталон: sha256:5238e6b34583c4e7c4076c104021ed8237a47cdb8d76a12cc5250d32ce60c78f
Актуально: sha256:5238e6b34583c4e7c4076c104021ed8237a47cdb8d76a12cc5250d32ce60c78f
Статус: OK

pamir.io/opensearch-dashboards:3.3.0
Эталон: sha256:ec9f19ea5b410580f3bfc268ccfaf7dc49028cd32310c4d69a8bbbd0c02de6a3
Актуально: sha256:ec9f19ea5b410580f3bfc268ccfaf7dc49028cd32310c4d69a8bbbd0c02de6a3
Статус: OK

pamir.io/opensearch-migrator:2.5.0-rc.34
Эталон: sha256:45aac71bf82764f77b50451e4c23970bbcc770e947487743fa778756f2a5aa16
Актуально: sha256:45aac71bf82764f77b50451e4c23970bbcc770e947487743fa778756f2a5aa16
Статус: OK

pamir.io/opensearch:3.3.2
Эталон: sha256:cad8ded5975f39b5d4fbad1a55c12295f27cd6b24000a884d29a6fae68672b0b
Актуально: sha256:cad8ded5975f39b5d4fbad1a55c12295f27cd6b24000a884d29a6fae68672b0b
Статус: OK

pamir.io/pamir_agent:1.3.0
Эталон: sha256:94e640817eba9fb315c5d7e406ad7d96a38c10350bf3a58381813695a6fd9582
Актуально: sha256:94e640817eba9fb315c5d7e406ad7d96a38c10350bf3a58381813695a6fd9582
Статус: OK

pamir.io/postgres:15.13
Эталон: sha256:0da2bcd600a852ab3d963314412130634f410770bdfaa6b2c6570557166de19a
Актуально: sha256:0da2bcd600a852ab3d963314412130634f410770bdfaa6b2c6570557166de19a
Статус: OK

pamir.io/postgres_exporter:v0.15.0
Эталон: sha256:8107c468c4a7a4f7139304fb5f8b85134438c84450c4e04ad8fc740d3ea71abc
Актуально: sha256:8107c468c4a7a4f7139304fb5f8b85134438c84450c4e04ad8fc740d3ea71abc
Статус: OK

pamir.io/rabbitmq:3.10.8
Эталон: sha256:55e83387581d2331226352f876b9fc52199d94004c437543b53d84b14bb64311
Актуально: sha256:55e83387581d2331226352f876b9fc52199d94004c437543b53d84b14bb64311
Статус: OK

pamir.io/redis:7.0.15
Эталон: sha256:73504f4974f1e70ad5702f257ce3dcf984b9d22e065446975bebc645364cc6c9
Актуально: sha256:73504f4974f1e70ad5702f257ce3dcf984b9d22e065446975bebc645364cc6c9
Статус: OK

pamir.io/snmp_exporter:0.20.0
Эталон: sha256:bdd36174e8d0dd35ef3f14bc4319492760b5663edb5c52ef1a0daeac8a69c33f
Актуально: sha256:bdd36174e8d0dd35ef3f14bc4319492760b5663edb5c52ef1a0daeac8a69c33f
Статус: OK

pamir.io/sql_exporter:0.4.0
Эталон: sha256:186ab8055dbd03d764baf3066b55d20ef7b6aaf6cd2f78a8f03c30dd37b8be2b
Актуально: sha256:186ab8055dbd03d764baf3066b55d20ef7b6aaf6cd2f78a8f03c30dd37b8be2b
Статус: OK

pamir.io/srm:2.5.0-rc.458
Эталон: sha256:73288427c764b8ee99bd9f0ecb51f2873f107fa973810f61afbae93995756b2d
Актуально: sha256:73288427c764b8ee99bd9f0ecb51f2873f107fa973810f61afbae93995756b2d
Статус: OK

pamir.io/step-ca:0.24.1
Эталон: sha256:21d12ecc3335c9a5f6c98cd164b1e3430a9b58a5cf335e151c67a3b1750f45ed
Актуально: sha256:21d12ecc3335c9a5f6c98cd164b1e3430a9b58a5cf335e151c67a3b1750f45ed
Статус: OK

pamir.io/task-tool:2.5.0-rc.257
Эталон: sha256:da65b3cf804cd456350eb065aa2dc22c5701108cdadf59fecd04d834df2aae89
Актуально: sha256:da65b3cf804cd456350eb065aa2dc22c5701108cdadf59fecd04d834df2aae89
Статус: OK

pamir.io/vector:0.51.0-alpine
Эталон: sha256:44b8a36af1b9d30bcdde9a3edbfc9fd7ff5bdea33b63cf89c9123afe4618d4a2
Актуально: sha256:44b8a36af1b9d30bcdde9a3edbfc9fd7ff5bdea33b63cf89c9123afe4618d4a2
Статус: OK

pamir.io/victoria-metrics:1.81.2-pamir
Эталон: sha256:dcc62c7a8d804f34c4aeb82d16b893b0fac7034851d1b10cf40d851e2fa93343
Актуально: sha256:dcc62c7a8d804f34c4aeb82d16b893b0fac7034851d1b10cf40d851e2fa93343
Статус: OK

Файлы конфигурации (31):

.auth.autogen
Эталон: sha256:fec1850944de1266a1f5dea8daf7633621434238b994e8aca4617ff927769b30
Актуально: sha256:fec1850944de1266a1f5dea8daf7633621434238b994e8aca4617ff927769b30
Статус: OK

.auth.env
Эталон: sha256:6e133ff56d197e5a1febf73fa018826b76746054b02b4c1467fe12f392ba4ac9
Актуально: sha256:6e133ff56d197e5a1febf73fa018826b76746054b02b4c1467fe12f392ba4ac9
Статус: OK

.deps.autogen
Эталон: sha256:c7f4d615eae76f2a77b87356b5f57e5de04348e556c47fc888f8252641be4f27
Актуально: sha256:c7f4d615eae76f2a77b87356b5f57e5de04348e556c47fc888f8252641be4f27
Статус: OK

.docker-tool.autogen
Эталон: sha256:607d144323409238beb9ef61f0cdd8ecab8762b66a203de6f0143e5fbe698989
Актуально: sha256:607d144323409238beb9ef61f0cdd8ecab8762b66a203de6f0143e5fbe698989
Статус: OK

.docker-tool.env
Эталон: sha256:1dffb082168584e9b8566922dbf303304cec8dd2a163c10619df07e3926505e8
Актуально: sha256:1dffb082168584e9b8566922dbf303304cec8dd2a163c10619df07e3926505e8
Статус: OK

.env
Эталон: sha256:859b14a3b8e9bdf01a9925f7f00ac410b6040e4d3eda02d0616c3d5a68f4960a
Актуально: sha256:859b14a3b8e9bdf01a9925f7f00ac410b6040e4d3eda02d0616c3d5a68f4960a
Статус: OK

.frontend.autogen
Эталон: sha256:19092a82b44aa51b0823c80de2ebfbddf1143abc6c61142921213d77ecc2c101
Актуально: sha256:19092a82b44aa51b0823c80de2ebfbddf1143abc6c61142921213d77ecc2c101
Статус: OK

.frontend.env
Эталон: sha256:3e817116e6fe48a1f6e465bd10062b36c58c6f045aacc09965d57dbe0ef784f3
Актуально: sha256:3e817116e6fe48a1f6e465bd10062b36c58c6f045aacc09965d57dbe0ef784f3
Статус: OK

.license.autogen
Эталон: sha256:12fb4be8cd38fcb3672fdcd57f3e9c5d888a054973afb28b8b9cba5ecbeb3a8b
Актуально: sha256:12fb4be8cd38fcb3672fdcd57f3e9c5d888a054973afb28b8b9cba5ecbeb3a8b
Статус: OK

.license.env
Эталон: sha256:45827fb8f101f5b424d45bdbf769556edf90bbc531d674a1d6ddf1f5ddb5429c
Актуально: sha256:45827fb8f101f5b424d45bdbf769556edf90bbc531d674a1d6ddf1f5ddb5429c
Статус: OK

.monitoring.autogen
Эталон: sha256:b7bc00350475d85cd74f1b8f63ed0a0e37989bccb33b636f9fd482c9d1d5b596
Актуально: sha256:b7bc00350475d85cd74f1b8f63ed0a0e37989bccb33b636f9fd482c9d1d5b596
Статус: OK

.monitoring.env
Эталон: sha256:4f7170d9ac652f30e9b14404adf76eaf7626846682e547d402d83e687f19b234
Актуально: sha256:4f7170d9ac652f30e9b14404adf76eaf7626846682e547d402d83e687f19b234
Статус: OK

.notification.autogen
Эталон: sha256:523ae90391530d7f3f0369d273690ad7a0d9b243cc251a0611a09e2a6a5e66f7
Актуально: sha256:523ae90391530d7f3f0369d273690ad7a0d9b243cc251a0611a09e2a6a5e66f7
Статус: OK

.notification.env
Эталон: sha256:38ab02ba3a4d8666c1e4446a8190d05b860d2aeac01f034e7c964c3424c921d0
Актуально: sha256:38ab02ba3a4d8666c1e4446a8190d05b860d2aeac01f034e7c964c3424c921d0
Статус: OK

.opensearch-migrator.autogen
Эталон: sha256:a776afdc9dc45018c82b5342ae682c703f78cbfb2be9df33848b48989051b3ff
Актуально: sha256:a776afdc9dc45018c82b5342ae682c703f78cbfb2be9df33848b48989051b3ff
Статус: OK

.opensearch.env
Эталон: sha256:3d5447e0c9f1d20be23ad7f0ca0f557c484d58f97e752e6e48b7b9bc406280d2
Актуально: sha256:3d5447e0c9f1d20be23ad7f0ca0f557c484d58f97e752e6e48b7b9bc406280d2
Статус: OK

.postgres.env
Эталон: sha256:5a1a9c34b902778efc72adce9483ecbfdbf7ba6b1837111d70650e8d40da3c1c
Актуально: sha256:5a1a9c34b902778efc72adce9483ecbfdbf7ba6b1837111d70650e8d40da3c1c
Статус: OK

.srm.autogen
Эталон: sha256:c6fd77278c5f94ec23462bf367fadd4ee73d22d7eaee91db618490666bef7dd0
Актуально: sha256:c6fd77278c5f94ec23462bf367fadd4ee73d22d7eaee91db618490666bef7dd0
Статус: OK

.srm.env
Эталон: sha256:eabebb3a458ddad70da471999b75cf54706b2b0def49c62a4729ee63d7c40549
Актуально: sha256:eabebb3a458ddad70da471999b75cf54706b2b0def49c62a4729ee63d7c40549
Статус: OK

.task-tool.autogen
Эталон: sha256:4c3e9d561fa121436f3ab9265729fb5438968e133a6af7d6f3791fa239474ecb
Актуально: sha256:4c3e9d561fa121436f3ab9265729fb5438968e133a6af7d6f3791fa239474ecb
Статус: OK

.task-tool.env
Эталон: sha256:31d5993f3bf319c3011895e1b489db1ebf6cb247bc61786293bfdfda7b5a926a
Актуально: sha256:31d5993f3bf319c3011895e1b489db1ebf6cb247bc61786293bfdfda7b5a926a
Статус: OK

docker-compose.deps.yml
Эталон: sha256:532465430937b811626e771ec8d16ed825435fe5047c166490d44396570d1a73
Актуально: sha256:532465430937b811626e771ec8d16ed825435fe5047c166490d44396570d1a73
Статус: OK

docker-compose.server.migrations.yml
Эталон: sha256:a9aa652dd1d7f4fbd4be1aab0b0bf9a779e113f32bf2427d85f7839fe642ce4e
Актуально: sha256:a9aa652dd1d7f4fbd4be1aab0b0bf9a779e113f32bf2427d85f7839fe642ce4e
Статус: OK

docker-compose.server.yml
Эталон: sha256:875e2e0b33a7c8762f191e861bfb95aa902e488a5a44ffaf6b0e0ea4dc92d3ec
Актуально: sha256:875e2e0b33a7c8762f191e861bfb95aa902e488a5a44ffaf6b0e0ea4dc92d3ec
Статус: OK

docker-compose.yml
Эталон: sha256:0f0bd9e8ad54835a1211f14ea576252cc2ffad90b860471b7bf71fd684376092
Актуально: sha256:0f0bd9e8ad54835a1211f14ea576252cc2ffad90b860471b7bf71fd684376092
Статус: OK

init/database/init-database.sh
Эталон: sha256:a92a5a1b5459304be4f521f28c838051ff81db32315bd3bdca1def14a3911d44
Актуально: sha256:a92a5a1b5459304be4f521f28c838051ff81db32315bd3bdca1def14a3911d44
Статус: OK

init/nginx/static/docs/swagger-ui-bundle.js
Эталон: sha256:2a556306524bed2ca668ec5ae19b1dbd4d9cdaa34795c9063a1c44b29a9c6097
Актуально: sha256:2a556306524bed2ca668ec5ae19b1dbd4d9cdaa34795c9063a1c44b29a9c6097
Статус: OK

init/nginx/static/docs/swagger-ui.css
Эталон: sha256:c24ecffd63fc797d37bed1c68ea030479ad1c7a30638ffb6b5a2559ea98bc431
Актуально: sha256:c24ecffd63fc797d37bed1c68ea030479ad1c7a30638ffb6b5a2559ea98bc431
Статус: OK

init/step/organization.json
Эталон: sha256:bd90b0c7af56689f6be63bb0da93271efebeab46532a1e5c4925bc9e66fea21f
Актуально: sha256:bd90b0c7af56689f6be63bb0da93271efebeab46532a1e5c4925bc9e66fea21f
Статус: OK

init/step/templates/certs/x509/intermediate.tpl
Эталон: sha256:f2ac946eca3fca72668573205419f9a8be417dabe5c38101ce6c6e8c5eda0af3
Актуально: sha256:f2ac946eca3fca72668573205419f9a8be417dabe5c38101ce6c6e8c5eda0af3
Статус: OK

init/step/templates/certs/x509/leaf.tpl
Эталон: sha256:cab9e20a917e4c99952f14036dcd9e9195550bff56a77aa74674912c133535e8
Актуально: sha256:cab9e20a917e4c99952f14036dcd9e9195550bff56a77aa74674912c133535e8
Статус: OK

Результат: Проверка целостности пройдена успешно

Демон периодического контроля целостности​

Помимо разовых проверок при запуске, pamirctl поддерживает режим демона (--daemon), который непрерывно контролирует целостность запущенных контейнеров и немедленно останавливает те из них, что нарушают политику.

Что проверяется в каждом цикле (каждые 15 секунд по умолчанию):

  • имя образа контейнера присутствует в эталонном digests.json;
  • ImageID контейнера совпадает с эталонной контрольной суммой;
  • корневая файловая система контейнера смонтирована в режиме readonly.

При обнаружении нарушения контейнер немедленно останавливается. Повторный запуск заблокированного контейнера перехватывается через Docker Events API и также отклоняется.

Демон контролирует только контейнеры сервера (Compose-проект pamir). Если рядом с сервером установлена Проба, её контейнеры не проверяются, а общий образ rabbitmq исключаются из проверки (см. Контроль целостности при совместной установке).

Установка и запуск инсталлятором:

Сервис демона устанавливается и запускается автоматически при выполнении pamir-installer install для обычного (не root) пользователя:

  • файл юнита pamirctl.service копируется в ~/.config/systemd/user/;
  • при первичной установке сервис включается в автозагрузку (systemctl --user enable --now);
  • при обновлении сервис перезапускается (systemctl --user restart).
предупреждение

По умолчанию пользовательские сервисы systemd останавливаются при выходе пользователя из системы. Если инсталлятор обнаружит, что lingering не включён, он выведет соответствующее предупреждение. Для постоянной работы демона выполните:

sudo loginctl enable-linger $USER

Управление сервисом вручную:

# Проверить состояние
systemctl --user status pamirctl.service

# Просмотреть журнал в реальном времени
journalctl --user -u pamirctl -f

# Или читать файл аудита напрямую
tail -f ~/.pamirctl-audit-daemon.log
Astra Linux

На Astra Linux команда journalctl --user -u pamirctl -f может завершаться ошибкой No journal files were found. Для корректной работы включите персистентное хранение журнала:

sudo mkdir -p /var/log/journal
sudo systemd-tmpfiles --create --prefix /var/log/journal
sudo systemctl restart systemd-journald

Также следует добавить пользователя в группу systemd-journal (даёт доступ к системному журналу, где также отображаются записи пользовательских сервисов):

sudo usermod -aG systemd-journal $USER
# перелогиниться