refactor: Root-Modus via pkexec, sudo komplett entfernt #8

Open
opened 2026-09-08 09:16:47 +00:00 by x3 · 0 comments
Owner

Problem

Das Programm hat sudo-Passwoerter per echo PASSWORD | sudo -S uebergeben. Das fuehrte zu:

  1. Doppelte Passwort-Abfrage (sudo fragt trotzdem nochmal)
  2. Passwort im [cmd] Log sichtbar
  3. Komplexe sudo-Handling in jedem Backup/Restore Pfad

Loesung (4bff4f3)

Das Programm laeuft nun immer als root:

  • Beim Start: pkexec wird fuer Privilege Escalation verwendet
  • Kein sudo noetig: Alle rsync/restore Operationen laufen direkt als root
  • Passwort-Dialog entfernt: Kein show_sudo_dialog mehr noetig
  • GB als Einheit: format_size() zeigt jetzt GB fuer grosse Dateien

Aenderungen

  • main.cpp: escalate_privileges() via pkexec beim Start
  • rsync_manager.cpp/h: sudo_password Parameter komplett entfernt
  • snapshot_manager.cpp/h: sudo_password Parameter komplett entfernt
  • main_window.cpp/h: show_sudo_dialog + current_sudo_password_ entfernt

cronjob Hinweis

Fuer cronjobs muss das Programm nun ebenfalls als root laufen:

0 2 * * * /usr/local/bin/x3-backup --backup

pkexec wird automatisch fuer die Privilege Escalation verwendet.

Geschlossen durch: 4bff4f3

## Problem Das Programm hat sudo-Passwoerter per `echo PASSWORD | sudo -S` uebergeben. Das fuehrte zu: 1. Doppelte Passwort-Abfrage (sudo fragt trotzdem nochmal) 2. Passwort im `[cmd]` Log sichtbar 3. Komplexe sudo-Handling in jedem Backup/Restore Pfad ## Loesung (4bff4f3) Das Programm laeuft nun immer als root: - **Beim Start**: `pkexec` wird fuer Privilege Escalation verwendet - **Kein sudo noetig**: Alle rsync/restore Operationen laufen direkt als root - **Passwort-Dialog entfernt**: Kein `show_sudo_dialog` mehr noetig - **GB als Einheit**: `format_size()` zeigt jetzt GB fuer grosse Dateien ## Aenderungen - `main.cpp`: `escalate_privileges()` via pkexec beim Start - `rsync_manager.cpp/h`: `sudo_password` Parameter komplett entfernt - `snapshot_manager.cpp/h`: `sudo_password` Parameter komplett entfernt - `main_window.cpp/h`: `show_sudo_dialog` + `current_sudo_password_` entfernt ## cronjob Hinweis Fuer cronjobs muss das Programm nun ebenfalls als root laufen: ``` 0 2 * * * /usr/local/bin/x3-backup --backup ``` pkexec wird automatisch fuer die Privilege Escalation verwendet. Geschlossen durch: 4bff4f3
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: x3/x3-backup#8