grundsystem: Datei-Capabilities wiederherstellen
Golden Image und Installer verloren security.capability (ping ohne cap_net_raw auf Liebherr-83). Liste aus den setcap-Aufrufen der postinst- Skripte der Images: ping, mtr-packet, gst-ptp-helper, snap-confine (aus .caps), sssd-Helfer. Setzt nur bei Abweichung (setcap -v), im User- Namespace getestet. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
b902527962
commit
586f17a2fb
2 files changed
+63
No files matched your search
+54
@@ -0,0 +1,54 @@
|
||||
#!/bin/bash
|
||||
# Datei-Capabilities wiederherstellen (Rolle grundsystem, 15.10.2026).
|
||||
#
|
||||
# Befund (Nutzer, Liebherr-83): ping ging für normale Benutzer nicht
|
||||
# ("socktype SOCK_RAW ... missing cap_net_raw+p"), getcap /usr/bin/ping leer,
|
||||
# ping_group_range "1 0". Ursache: Capabilities liegen im xattr
|
||||
# security.capability, und GNU tar übernimmt beim Auspacken ohne
|
||||
# --xattrs-include='*' nur user.*. Das Golden Image verlor sie schon beim
|
||||
# Packen (Staging-Auspacken in package_golden_image.sh), der Installer
|
||||
# (image_deploy.sh) entpackte zusätzlich ganz ohne --xattrs. Betroffen sind
|
||||
# alle bisher installierten Geräte.
|
||||
#
|
||||
# Die Liste stammt aus den postinst-Skripten der Golden Images (setcap-
|
||||
# Aufrufe, 15.10.2026 auf anode ausgelesen). iproute2 fehlt bewusst: dessen
|
||||
# postinst entfernt Capabilities standardmäßig (debconf iproute2/setcaps).
|
||||
# Gesetzt wird nur, wo die Datei existiert und der Wert abweicht
|
||||
# (setcap -v); Ausgabe "gesetzt: <datei>" je Änderung, für changed_when.
|
||||
set -u
|
||||
|
||||
command -v setcap >/dev/null 2>&1 || exit 0
|
||||
|
||||
soll() {
|
||||
local datei caps
|
||||
datei="$(readlink -f "$1" 2>/dev/null)" || return 0
|
||||
caps="$2"
|
||||
[[ -f "${datei}" ]] || return 0
|
||||
setcap -v "${caps}" "${datei}" >/dev/null 2>&1 && return 0
|
||||
if setcap "${caps}" "${datei}"; then
|
||||
echo "gesetzt: ${datei} ${caps}"
|
||||
else
|
||||
echo "FEHLER: ${datei} ${caps}" >&2
|
||||
fi
|
||||
}
|
||||
|
||||
# iputils-ping, mtr-tiny (Mint, Ubuntu)
|
||||
soll /usr/bin/ping cap_net_raw+ep
|
||||
soll /usr/bin/mtr-packet cap_net_raw+ep
|
||||
|
||||
# libgstreamer1.0-0 (PTP-Zeitsynchronisation)
|
||||
soll /usr/lib/x86_64-linux-gnu/gstreamer1.0/gstreamer-1.0/gst-ptp-helper \
|
||||
cap_sys_nice,cap_net_bind_service,cap_net_admin+ep
|
||||
|
||||
# snapd (Ubuntu): Werte aus der Datei des installierten Pakets
|
||||
if [[ -f /usr/lib/snapd/snap-confine.caps ]]; then
|
||||
soll /usr/lib/snapd/snap-confine "$(tr -d '\n' < /usr/lib/snapd/snap-confine.caps)"
|
||||
fi
|
||||
|
||||
# sssd (Ubuntu, AD-Anbindung)
|
||||
soll /usr/libexec/sssd/sssd_pam cap_dac_read_search=p
|
||||
soll /usr/libexec/sssd/ldap_child cap_dac_read_search=p
|
||||
soll /usr/libexec/sssd/krb5_child cap_dac_read_search,cap_setuid,cap_setgid=p
|
||||
soll /usr/libexec/sssd/selinux_child cap_setuid,cap_setgid=p
|
||||
|
||||
exit 0
|
||||
@@ -26,6 +26,9 @@
|
||||
# Bei laufendem systemd-resolved wieder auf dessen Stub verweisen. Ohne
|
||||
# systemd-resolved (Debian-Image) bleibt die Datei unangetastet, die
|
||||
# verwaltet dort NetworkManager selbst.
|
||||
# 4. Datei-Capabilities (15.10.2026): Golden Image und Installer verloren
|
||||
# das xattr security.capability (ping ohne cap_net_raw, Liebherr-83);
|
||||
# wiederherstellen, siehe files/capabilities-reparieren.sh.
|
||||
|
||||
- name: Determine golden image package list for this distribution
|
||||
ansible.builtin.set_fact:
|
||||
@@ -110,3 +113,9 @@
|
||||
dest: /etc/resolv.conf
|
||||
state: link
|
||||
force: true
|
||||
|
||||
- name: Datei-Capabilities wiederherstellen (Image/Installer ohne security.* bis 15.10.2026)
|
||||
ansible.builtin.script: capabilities-reparieren.sh
|
||||
register: tuxflotte_grundsystem_caps
|
||||
changed_when: "'gesetzt:' in tuxflotte_grundsystem_caps.stdout"
|
||||
|
||||
Reference in new issue
Block a user