Commit Graph

17 Commits

Author SHA1 Message Date
Daniel unbrot Pätzold b9d13e821d mount_ecrypt_home: run gocryptfs in foreground to fix premature ExecStop
Without -fg, gocryptfs forks to background and the parent exits,
causing systemd to consider the service done and immediately call
ExecStop (fusermount -u). With -fg, gocryptfs stays as the tracked
service process so ExecStop only fires on explicit service stop at
logout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold 815fa46daa mount_ecrypt_home: wait for FUSE mount before removing passfile
systemd-run service mode returns as soon as the start request is
accepted, before gocryptfs has read the passfile. Poll /proc/mounts
for up to 10 seconds so the passfile is only removed after the mount
is confirmed.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:05:19 +02:00
Daniel unbrot Pätzold 4da2a3fa69 mount_ecrypt_home: unmount gocryptfs cleanly on session logout
Switch from --scope to a transient service so systemd can run
fusermount -u via ExecStop before terminating the process.
With KillMode=none, gocryptfs exits on its own once the FUSE
filesystem is detached.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07 18:05:19 +02:00
Brot der Bot d1ff9e348a mount_ecrypt_home.sh: store vault key in XDG_RUNTIME_DIR instead of /var/tmp
/var/tmp is persistent on-disk storage. The encryption key must never
be written to disk, even temporarily. Replaced all occurrences of
/var/tmp/IPAVAULTKEY.txt with ${XDG_RUNTIME_DIR}/IPAVAULTKEY, which
is a per-user tmpfs directory (/run/user/<UID>) created by
systemd-logind: guaranteed memory-only, mode 0700, wiped on logout.

Also removed the TODO comment that tracked this exact issue.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 16:38:24 +02:00
Brot der Bot 1abf7879cd detach long-running background processes from autostart service cgroup
KDE Plasma runs each autostart .desktop entry as a systemd user unit.
systemd tracks service liveness by cgroup membership, not just the
main PID. Any process forked inside the service — even via setsid or &
— stays in the service's cgroup and keeps app-logon_script.sh@autostart
in active (running) state indefinitely after logon_script.sh exits.

mount_ecrypt_home.sh: wrap the gocryptfs mount call with
  systemd-run --user --scope --unit=gocryptfs-home
The FUSE daemon that gocryptfs forks now lives in its own transient
scope cgroup. Exit-code propagation is unchanged because systemd-run
--scope returns the main process's exit code.

0050_nextcloud_desktopclient/user_run.sh: replace
  /usr/bin/setsid ... &
with
  systemd-run --user --scope --unit=nextcloud-client ... &
setsid creates a new session but does not move the process out of the
cgroup; systemd-run --scope does.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-01 15:02:39 +02:00
unbrot b586de545e check crypt setup file 2026-04-30 16:36:34 +02:00
unbrot 7a3f610740 Crypt: Better check for configured 2026-04-30 16:34:01 +02:00
unbrot ee2ae055e9 Crypt: Add Passfile 2026-04-30 16:23:56 +02:00
unbrot fe9f6841f3 Cryptfilesystem: Allow root to access encrypted directory 2026-04-30 16:19:01 +02:00
Daniel Pätzold 1cee4f82f4 Kwallet: Split User_Run from install 2026-04-07 15:06:57 +02:00
Daniel Pätzold 082d0ad4bd Moved encryption Warning 2026-03-26 16:12:37 +01:00
Daniel Pätzold 264d1d4931 Different behaviour of "sudo -l" checks
Better shebangs
2026-03-16 11:53:31 +01:00
Daniel Pätzold 488f04d387 Moved local dir to /opt/sys_config
Improved error logging and added function handling calls with log and return values
Improved check for matching sudo rule
2026-03-15 12:44:14 +01:00
Daniel Pätzold 445c52fb27 Fixed checking for correct mount of encrypted directory 2026-03-13 18:14:58 +01:00
Daniel Pätzold 67a932bee1 Fixed Bug in IPA-Key initial setup 2026-03-10 16:46:42 +01:00
Daniel Pätzold 36e626e2a3 Smaller Changes / Code cleanup 2026-03-08 18:41:26 +01:00
Daniel Pätzold f48c656997 First Commit 2026-01-02 11:24:52 +01:00