Bug 59811

Summary: Не запускается сервис nats-server-hardened
Product: Sisyphus Reporter: Dmitry Maksimenkov <maksimenkovda>
Component: nats-serverAssignee: Anton Zhukharev <ancieg>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: admsasha, aibure, ancieg
Version: unstable   
Hardware: x86_64   
OS: Linux   

Description Dmitry Maksimenkov 2026-07-13 12:24:36 MSK
Версия:
nats-server-2.14.3-alt1

Системы:
ALT Server 11.1 (обновлено до Sisyphus)

Шаги воспроизведения:
# apt-get install nats-server
# systemctl enable --now nats-server-hardened && sleep 5; \
systemctl status nats-server-hardened

Реальный результат: Сервис не стартует, в журнале:

> июл 13 12:17:09 server-11-1-x86-64-legacy-ext4-minimal-server-20260713.localdoma systemd[1]: Started nats-server-hardened.service - NATS Server.
> июл 13 12:17:09 server-11-1-x86-64-legacy-ext4-minimal-server-20260713.localdoma (s-server)[1587]: nats-server-hardened.service: Failed to set up mount namespacing: /etc/ssh: No such file or >
> июл 13 12:17:09 server-11-1-x86-64-legacy-ext4-minimal-server-20260713.localdoma (s-server)[1587]: nats-server-hardened.service: Failed at step NAMESPACE spawning /usr/sbin/nats-server: No su>
> июл 13 12:17:09 server-11-1-x86-64-legacy-ext4-minimal-server-20260713.localdoma systemd[1]: nats-server-hardened.service: Main process exited, code=exited, status=226/NAMESPACE
> июл 13 12:17:09 server-11-1-x86-64-legacy-ext4-minimal-server-20260713.localdoma systemd[1]: nats-server-hardened.service: Failed with result 'exit-code'.

Ожидаемый результат: Сервис запускается без ошибок и корректно функционирует

Дополнительно:
* Не воспроизводится в p11 на версии nats-server-2.12.6-alt1
* Воспроизводится в p11 с заданием 424787 (nats-server.git=2.14.3-alt1)
Comment 1 Dmitry Maksimenkov 2026-07-13 13:08:43 MSK
Дополняю, выполнил # systemctl cat nats-server-hardened и сделал diff между старой и новой версией. Если перезаписать сервис на значения из старой версии - сервис запускается и работает.

> --- nats-server-hardened-cat-2.12.6.txt  2026-07-13 12:38:16.107345827 +0300
> +++ nats-server-hardened-cat-2.14.3.txt   2026-07-13 12:36:41.867128510 +0300
> @@ -60,7 +60,7 @@
> UMask=0077
>
> # Consider locking down all areas of /etc which hold machine identity keys, etc
> -InaccessiblePaths=/etc/openssh
> +InaccessiblePaths=/etc/ssh
> 
>  # If you have systemd >= 247
>  ProtectProc=invisible
> @@ -70,7 +70,7 @@
> 
>  # Optional: writable directory for JetStream.
>  # See also: Unit.ConditionPathIsMountPoint
> -ReadWritePaths=/var/lib/nats /var/log/nats /var/run/nats
> +ReadWritePaths=/var/lib/nats
> 
>  # Optional: resource control.
>  # Replace weights by values that make sense for your situation.
Comment 2 Anton Zhukharev 2026-07-13 13:23:47 MSK
(In reply to Dmitry Maksimenkov from comment #1)
> Дополняю, выполнил # systemctl cat nats-server-hardened и сделал diff между
> старой и новой версией. Если перезаписать сервис на значения из старой
> версии - сервис запускается и работает.
> 
> > --- nats-server-hardened-cat-2.12.6.txt  2026-07-13 12:38:16.107345827 +0300
> > +++ nats-server-hardened-cat-2.14.3.txt   2026-07-13 12:36:41.867128510 +0300
> > @@ -60,7 +60,7 @@
> > UMask=0077
> >
> > # Consider locking down all areas of /etc which hold machine identity keys, etc
> > -InaccessiblePaths=/etc/openssh
> > +InaccessiblePaths=/etc/ssh
> > 
> >  # If you have systemd >= 247
> >  ProtectProc=invisible
> > @@ -70,7 +70,7 @@
> > 
> >  # Optional: writable directory for JetStream.
> >  # See also: Unit.ConditionPathIsMountPoint
> > -ReadWritePaths=/var/lib/nats /var/log/nats /var/run/nats
> > +ReadWritePaths=/var/lib/nats
> > 
> >  # Optional: resource control.
> >  # Replace weights by values that make sense for your situation.

Сломалось еще в 2.14.2-alt1: отвалился патч - выглядел как раз как этот:

13:21 ancieg@lambda ~/gears/nats-server > git -P diff v2.12.6..2.12.6-alt1 -- . ':!.gear' ':!vendor'
diff --git a/util/nats-server-hardened.service b/util/nats-server-hardened.service
index 9c458fcd9..6a29bc425 100644
--- a/util/nats-server-hardened.service
+++ b/util/nats-server-hardened.service
@@ -59,7 +59,7 @@ SystemCallFilter=@system-service ~@privileged ~@resources
 UMask=0077

 # Consider locking down all areas of /etc which hold machine identity keys, etc
-InaccessiblePaths=/etc/ssh
+InaccessiblePaths=/etc/openssh

 # If you have systemd >= 247
 ProtectProc=invisible
@@ -69,7 +69,7 @@ PrivateIPC=true

 # Optional: writable directory for JetStream.
 # See also: Unit.ConditionPathIsMountPoint
-ReadWritePaths=/var/lib/nats
+ReadWritePaths=/var/lib/nats /var/log/nats /var/run/nats

 # Optional: resource control.
 # Replace weights by values that make sense for your situation.
Comment 3 Repository Robot 2026-07-13 13:38:31 MSK
nats-server-2.14.3-alt2 -> sisyphus:

Mon Jul 13 2026 Anton Zhukharev <ancieg@altlinux> 2.14.3-alt2
- Fixed paths in nats-server-hardened.service (ALT#59811).