¿Cómo permitir que un usuario use journalctl para ver registros de servicio systemd específicos del usuario?

14

Estoy ejecutando servicios a nivel de usuario en Ubuntu 16.04 LTS. Por ejemplo, tengo mi test.service ubicado en ~ / .config / systemd / user / test.service

Pude ejecutar el servicio haciendo

systemctl --user start test.target

Sin embargo, cuando trato de leer su registro usando journalctl, recibí este mensaje de error:

journalctl --user -u test.service
Hint: You are currently not seeing messages from other users and the system.
  Users in the 'systemd-journal' group can see all messages. Pass -q to
  turn off this notice.
No journal files were opened due to insufficient permissions.

¿Cómo puedo usar journalctl para la unidad específica del usuario?

ChromeHearts
fuente

Respuestas:

10

En versiones anteriores de systemd, tendrá que usar journalctl --user --user-unit=SERVICENAME(en versiones más nuevas journalctl --user -u SERVICENAMEfuncionará bien).

Sin embargo, esto solo funciona si la Storagedirectiva de la [Journal]sección de /etc/systemd/journald.confse establece en persistent(en lugar de autoo volatile). Reinicie después de editar el archivo de configuración y el usuario podrá ver el diario.

Más información: https://www.freedesktop.org/software/systemd/man/journald.conf.html https://lists.freedesktop.org/archives/systemd-devel/2016-October/037554.html

D Schlachter
fuente
1
Agregar el usuario al grupo systemd-journal fue la respuesta que necesitaba (del enlace de esa lista de correo).
Travis Well
Esto funcionó para mí en Ubuntu 17.10, donde un usuario inexplicablemente no podía ver sus registros, mientras que otro sí.
elBradford
1
Agregar un usuario al grupo systemd-journal sería una solución, pero dado que mi servicio era un servicio de usuario, no creo que los registros se generaron en primer lugar, por lo que permitir que mi usuario vea todos los otros registros no Han ayudado de todos modos.
elBradford