Neues Wheel-Sicherheitsmodell und Upgrade auf Leap 16.0

Ich habe 2-3 ältere Java Programme die ich ab und an noch brauche da muss ich auch

sudo setsebool selinuxuser_execstack 1

setzen wie im Journal angezeigt sonst funktionieren die nicht mit SELinux im Enforcing mode. Ich setze das allerdings nicht persistent mit -P sondern nur wenn ich es brauche bis zum nächsten Boot da das global für alle Prozesse gilt.
Das man einen “executable Stack” in einem Office Program braucht ist zumindest ungewöhnlich aber in deinen Log-Snippet ist was mit JNA zu sehen was den Einsatz von Java Plugins vermuten lässt. Es gibt auch ein Programm execstack aus dem RPM mit gleichen Namen mit dem man Anzeigen kann ob ein Programm oder eine Lib einen ausführbaren Stack verwenden will. Was liefert denn dieses Kommando bei dir

> /usr/sbin/getsebool selinuxuser_execstack
selinuxuser_execstack --> on

Mit den Performance Problemen hat das aber meiner Meinung nach eher nichts zu tun.

Ich will Deinen Beitrag einmal von hinten “aufrollen”:

Soweit mir bekannt ist openSUSE Leap 16.0 die erste Leap-Version bei der SELinux standardmäßig aktiviert wird.

Ich glaube Dein Verständnis von SELinux ist nicht ganz zutreffend.

Hier eine stark vereinfachte Zusammenfassung dessen, was ich bisher von SELinux glaube verstanden zu haben:

SELinux ist eine Funktionalität des Kernels. Wird sie aktiviert, überwacht der Kernel den Zugriff auf Systemressourcen (Dateien, Netzwerk, …). Die Regeln für diese Überwachung werden in den SELinux-Policies beschrieben und müssen den Resourcen zugewiesen werden (d.h. diese Resourcen erhalten ihren SELinux-Kontext). Kann der Kernel, bei aktiviertem SELinux, eine angeforderten Zugriff auf eine Systemresource nicht auflösen (keine Policy, kein Kontext, …) so verweigert er den angeforderten Zugriff.

Mit

> ls -laZ /home
insgesamt 12
dr-xr-xr-x.  3 root root system_u:object_r:home_root_t:s0         4096  1. Jan 2026  .
drwxr-xr-x. 17 root root system_u:object_r:root_t:s0              4096 26. Aug 10:45 ..
drwx------. 43 xx   xx   unconfined_u:object_r:user_home_dir_t:s0 4096  8. Sep 19:57 xx
>

kann man beispielsweise den SELinux-Kontext von Dateien und Verzeichnissen einsehen.

Man kann also nicht sagen, dass irgendetwas bei SELinux “gemeldet” werden muss.

Wie bereits gesagt, obige Darstellung ist stark vereinfacht und stellt mein persönliches Verständnis von SELinux dar (und kann daher fehlerhaft sein). Wenn Du SELinux verwendest, solltest Du Dich umgehend in die Thematik einlesen.

Das von soffice.bin verwendete “execstack” ist wohl sicherheitstechnisch bedenklich und wird daher in den SELinux-Policies von openSUSE abgeblockt.

Soweit ich das verstehe ist “execstack” eine Eigenschaft von soffice.bin, die diesem auch “abgewöhnt” werden kann (ohne die openSUSE SELinux-Policies zu verändern). Aber dazu muss Dir jemand weiterhelfen, der sich damit auskennt.

Kannst Du dieses “träger sein” konkret belegen?

1 Like

Mittlerweile habe ich etwas über SELinux gelesen und einige für mich interessante und nützliche Beiträge sind gepostet worden, auf die ich gerne antworte.

Über das Zusammenspiel SELinux und externe Geräte
@susejunky schrieb:
“Ich glaube Dein Verständnis von SELinux ist nicht ganz zutreffend. (…)
Kann der Kernel, bei aktiviertem SELinux, eine angeforderten Zugriff auf eine Systemresource nicht auflösen (keine Policy, kein Kontext, …) so verweigert er den angeforderten Zugriff.”

Ok. Ich habe versucht, die Backup-Festplatte bei SELinux “anzumelden”, wie von @susejunky beschrieben:

# cd /run/media/geppino/
# ls
WD_BACKUP
# restorecon -R -v /run/media/geppino/WD_BACKUP/
Warning no default label for /run/media/geppino/WD_BACKUP

Die Rückmeldung verstehe ich als “Anmeldung in SELinux nicht erfolgt”.

Und tatsächlich, nach Neustart:
1.

# ls -laZ /run/media/geppino/
insgesamt 0
drwxr-x---+ 2 root root system_u:object_r:mnt_t:s0 40 10. Sep 15:59 .
drwxr-xr-x. 3 root root system_u:object_r:mnt_t:s0 60 10. Sep 15:43 ..

Die übliche Fehlermeldung beim Mounten der Backup-Festplatte


Fehler beim Zugriff auf die ext Festplatte Bildschirmfoto_20260707_184445


Über OpenOffice unter OpenSUSE
@susejunky schrieb:
Das von soffice.bin verwendete “execstack” ist wohl sicherheitstechnisch bedenklich und wird daher in den SELinux-Policies von openSUSE abgeblockt.

Soweit ich das verstehe ist “execstack” eine Eigenschaft von soffice.bin, die diesem auch “abgewöhnt” werden kann (ohne die openSUSE SELinux-Policies zu verändern). Aber dazu muss Dir jemand weiterhelfen, der sich damit auskennt.

@rawar schrieb:
Ich habe 2-3 ältere Java Programme die ich ab und an noch brauche da muss ich auch

sudo setsebool selinuxuser_execstack 1

setzen wie im Journal angezeigt sonst funktionieren die nicht mit SELinux im Enforcing mode. Ich setze das allerdings nicht persistent mit -P sondern nur wenn ich es brauche bis zum nächsten Boot da das global für alle Prozesse gilt.

Es ist also kein Vergehen, eine Ausnahme in SELinux zu setzen…

@rawar weiter:
Das man einen “executable Stack” in einem Office Program braucht ist zumindest ungewöhnlich aber in deinen Log-Snippet ist was mit JNA zu sehen was den Einsatz von Java Plugins vermuten lässt.

Hab’ die KI von Brave Browser gefragt.
Frage:
I use the last version of Apache OpenOffice on OpenSUSE Leap 16.0. But SELinux gives a bad message into journal:

/opt/openoffice4/program/soffice.bin without build-id.

There is a way to get a build-id for AOO?

Antwort:
Based on the provided search context, there is no information indicating that a build-id can be generated or added to Apache OpenOffice. The context does not mention build-ids in relation to the software.
However, the search context identifies that “General error” messages on OpenSUSE Leap are caused by SELinux blocking the soffice.bin binary from accessing an executable stack. The recommended solution in the context is to enable the executable stack flag for the binary using the following command:

sudo execstack -s /opt/openoffice4/program/soffice.bin

Das habe ich getan und die Fehlermeldung taucht nicht mehr im Journal.

Auswirkung in der Praxis:
OpenOffice öffnet und speichert die Dateien merkbar schneller als früher und ich bekomme keine Fehlermeldungen mehr.
…

Über eventuelle Performance-Verluste mit SELinux

Auch dazu habe ich die Brave Browser KI gefragt.

Antwort:

Column 1 SELinux AppArmor
LSM-Hooks (Linux v6.19) ~217 ~80
Memory-Overhead (Miki et al. 2023) ~85 % ~22 %
Messbarer Latency-Overhead (Makro) < 5 % < 5 %

Mein Fazit:
SELinux zu verwalten ist ohne GUI-Interface zu kompliziert für den Privatanwender
und kleine Unternehmen, die sich einen Sys-Admin nicht leisten können.
Lieber hätte ich AppArmor zurück!

Aber jetzt möchte ich wieder zum ursprünglichen Thema

Im letzten operativen System (Leap 15.5) der “first” User gehörte zur Gruppe “users” und verfügte nicht über Sonderrechte.
Jetzt, infolge der neuen User Policy im Leap 16.0 der first user gehört sowohl der Gruppe “user” als auch der Gruppe “users”. Diese letzte Gruppe ist aber im System nicht hinterlegt.

In Release Note Leap 16.0, § 3.6.16, steht:
… This change affects all new installations and upgraded system that did not change /etc/login.defs. This has several consequences:

1. (…)
2. configurations that used the primary “users” group as a condition do not work anymore
3. configurations that used the primary or secondary “users” group as a condition need to have the “users” group manually added to theese user accounts in order to continue to work, for example, to for “@users” in the sudoers file.
4. home directories inherited from a previous system need to standardize the GID of the files by running:

 find "@HOME" -group users -exec chgrp myuser {} \

or, if you did not use any GID other then “users”,

chgrp -R myuser "@HOME"

Dazu folgende Fragen:
a) Stimmen diese Stellungnahmen in der Release Note?
b) Wenn ja, ist in meinem Fall (aktuell einziger User = wheel user) sinnvoll folgender Command auszuführen?

chgrp -R myuser "@HOME"

c) Wenn b) stimmt, sollen “myuser” mit dem Username und “@HOME” mit dem Home-Verzeichnis (/home/myuser) ersetzt werden?

Soweit ich weiß ist es och immer da. Einfach umschalten über Kernel Parmeter beim Boot. Und vielleicht ein Par Paketen zum verwalten installalieren (es gibt eine ganze Reihe wenn man sucht mit Myrlyn).

Das ist nicht ganz zutreffend. Ich hatte geschrieben

/run/media/geppino/WD_BACKUP ist nicht das selbe wie /home/geppino/WD_BACKUP.

Nein, man muss sich nur der Tatsache bewußt sein, dass diese Ausnahme systemweit für alle Programme gilt, die “execstack” verwenden.

Damit hast Du keine SELinux-Policy geändert sondern die Datei soffice.bin.

execstack is a program which sets, clears, or queries executable stack flag of ELF binaries and shared libraries.

Wenn die Datei nach der Änderung noch problemlos funktioniert, dann ist das in Ordnung …

Ich verstehe zwar nicht, warum ein Werkzeug mit grafischer Oberfäche die Handhabung von SELinux vereinfachen sollte aber wie dem auch sei, ein solches Werkzeug steht zur Verfügung:

system-config-selinux

aus dem Paket policycoreutils-gui.

Du hast recht! Ich hatte das Verzeichnis eingegeben, wo die Festplatte gemountet werden.
Nach deinen Beitrag habe ich es nachgeholt.
Merke allerdings keinen Unterschied beim Mounten der Backup-Festplatte (2 TB groß). Wenn ich aber eine andere, kleinere Festplatte anschließe funktioniert das Mounten reibungslos.
Es konnte also an der Festplatte liegen!

Und das ist eventuell mit deinem Tip verbunden sein:

@susejunky
Bereits in Deinem Beitrag User-Methodik in Leap 16.0 war zu sehen, dass bei einer Deiner externen Festplatten ein Hardwareproblem vorliegt:

Der Fehler muss nicht zwingend in der Festplatte selbst liegen, …

Diesbezüglich habe ich wieder die KI von Brave Browser gefragt - ich vertraue nicht blind die Ergebnissse … aber sie kann viel schneller suchen als ich.

Die KI-Antwort, eigentlich eher eine Vermutung:
a) Die Fehlerzeile: