Bug 54267 - integrity-notifier.service failed, если also пользователь не залогинен
Summary: integrity-notifier.service failed, если also пользователь не залогинен
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: integrity-notifier (show other bugs)
Version: unstable
Hardware: x86 Linux
: P5 normal
Assignee: manowar@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-05-14 21:13 MSK by Владимир Шумилов
Modified: 2025-05-21 23:12 MSK (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Владимир Шумилов 2025-05-14 21:13:56 MSK
При попытке запуска неподписанной программы пользовательем-1 integrity-notifier.service завершается с ошибкой и не рестартует, если указанный в /etc/integrity/also какой-либо пользователь незалогинен.


[vs@host-191 ~]$ systemctl status integrity-notifier.service
× integrity-notifier.service - Integrity notifier service
     Loaded: loaded (/lib/systemd/system/integrity-notifier.service; enabled; vendor preset: disabled)
     Active: failed (Result: exit-code) since Wed 2025-05-14 21:10:46 MSK; 34s ago
    Process: 2268 ExecStart=/usr/sbin/integrity-notifier (code=exited, status=1/FAILURE)
   Main PID: 2268 (code=exited, status=1/FAILURE)
        CPU: 25ms

мая 14 21:06:22 host-191 systemd[1]: Started Integrity notifier service.
мая 14 21:06:22 host-191 integrity-notifier[2285]: tail: '/var/log/integrityd//current' стал недоступен: Нет такого файла или ката>
мая 14 21:06:22 host-191 integrity-notifier[2285]: tail: '/var/log/integrityd//current' появился; новый файл
мая 14 21:10:46 host-191 integrity-notifier[3121]: write: vvs is not logged in
мая 14 21:10:46 host-191 systemd[1]: integrity-notifier.service: Main process exited, code=exited, status=1/FAILURE
мая 14 21:10:46 host-191 systemd[1]: integrity-notifier.service: Failed with result 'exit-code'.
Comment 1 Владимир Шумилов 2025-05-14 21:18:34 MSK
Всё это происходит из-за того, что в скрипте /usr/sbin/integrity-notifier используется команда write для отправки сообщений. Собственно, это и вызывает ошибку и падение сервиса.

Этого можно избежать, если использовать команду logger -p emerg "message"
В данном случае сообщения будут отправлены широковещательные сообщения и сделана запись в журнал
Comment 2 Владимир Шумилов 2025-05-15 07:25:37 MSK
Либо необходимо проверять список пользователей, кто залогинен, кто нет
Comment 3 Владимир Шумилов 2025-05-15 09:00:11 MSK
Либо необходимо проверять список пользователей, кто залогинен, кто нет
Comment 4 Evgeny Shesteperov 2025-05-19 17:03:37 MSK
Версия

-   integrity-notifier-0.7.1-alt1

Шаги воспроизведения

    # useradd checkuser
    # passwd checkuser
    # apt-get install integrity-notifier ima-evm-integrity-check updater -y
    # echo checkuser >> /etc/integrity/also
    # systemctl enable --now integrity-notifier; systemctl status integrity-notifier --no-pager -l
    # echo "@$(echo -n "40000000" && head -c 8 /dev/urandom | xxd -p | tr -d '\n') $(date +'%d %B %H:%M:%S') $(hostname) audit[3000]: INTEGRITY_DATA pid=3000 uid=$(id -u checkuser) auid=0 ses=1 op=appraise_data cause=invalid-signature comm=\"bash\" name=\"/usr/bin/mc\" dev=\"sda1\" ino=681023 res=0 errno=0" >> /var/log/integrityd/current
    # systemctl status integrity-notifier --no-pager -l

Ожидаемый результат: сервис в статусе running

Фактический результат: сервис в статусе failed
Comment 5 Repository Robot 2025-05-21 23:12:13 MSK
integrity-notifier-0.7.2-alt1 -> sisyphus:

 Wed May 21 2025 Paul Wolneykien <manowar@altlinux> 0.7.2-alt1
 - Restart both services on failure.
 - Fix: Don't exit on write failure (closes: 54267).