Kategorien
Betriebssysteme

Ordner in Nautilus mittels Drag & Drop öffnen

Ist es ein Bug oder ein Feature? Beim Verschieben von Dateien in Ordnerstrukturen wird mitten im Drag & Drop-Vorgang nach kurzer Zeit in den Zielordner gewechselt, was gerade bei größeren Aufräumaktionen zu vielen unnötigen Mausklicks führt.

Die zuständige Funktion in Nautilus nennt sich „open-folder-on-dnd-hover“ und kann mittels dconf an- und ausgeschaltet werden:

In neueren Versionen des GNOME-Desktops (ab 3.34) kann die Funktion auch direkt im „Optimierungen“-Werkzeug konfiguriert werden.

Kategorien
Anwendungen

Datensicherung mit BorgBackup

Datensicherung wird meist als lästiges Übel empfunden, weshalb viele ihre Daten nicht regelmäßig vor Verlust schützen – bis es irgendwann zu spät ist. Um Daten zu sichern gibt es viele Wege und Möglichkeiten: vom manuellen Kopieren einiger (gefühlt) wichtiger Dateien hin bis zu regelmäßigen automatisierten Snapshots des kompletten Systems.

Ziel der hier vorgestellten Lösung ist es, beim Herunterfahren des Rechners automatisiert eine Sicherung aller Benutzerdaten auf einem zweiten Datenträger zu erstellen. Auf zusätzliche Möglichkeiten wie z.B. dem Erstellen einer verschlüsselten Sicherung oder physikalische Trennung des Sicherungsmediums wurde bewusst verzichtet, der Datenträger bleibt permanent eingesteckt, wird allerdings nur für die Dauer der Datensicherung eingebunden.

Es gibt unzählige Programme, mit deren Hilfe sich Daten sichern und die Sicherung automatisieren lässt, eines hiervon ist BorgBackup, das u.a. durch den Einsatz von Deduplizierung eine effiziente Möglichkeit zur Datensicherung bietet.

BorgBackup

BorgBackup findet sich in den Repositories der meisten Linux-Distributionen und ist schnell installiert:

$ sudo apt install borgbackup

Anschließend wird ein Verzeichnis „/mnt/backup/“ erzeugt, in welches der Sicherungsdatenträger eingehängt wird. Dort wird ein Verzeichnis „borgrepo“ angelegt, in dem das Repository für die Sicherung erzeugt wird:

$ sudo borg init --encryption none /mnt/backup/borgrepo/

Nach dem Ausführen von „borg init …“ steht das Repository bereit und kann direkt verwendet werden.

Damit die einzelnen Parameter nicht jedesmal von Hand eingegeben werden müssen, wird unter „/root“ ein Skript namens „backup.sh“ angelegt, mit dessen Hilfe die Datensicherung durchgeführt wird.

#!/usr/bin/bash

# ensure the path is set
PATH=/usr/local/bin:/usr/bin:/bin

# STICK
STICK=/dev/sdb1
# MOUNTPOINT
MOUNTPOINT=/mnt/backup/

# USERNAME
USERNAME=benutzername

mount ${STICK} ${MOUNTPOINT}

if mountpoint -q ${MOUNTPOINT}; then

	borg create --progress --stats --compression zstd,1 --exclude /home/${USERNAME}/.cache --exclude /home/${USERNAME}/.local/share/Trash ${MOUNTPOINT}borgrepo::'backup_{now:%Y-%m-%d_%H-%M-%S}' /home/${USERNAME}

	borg prune --verbose --list ${MOUNTPOINT}borgrepo --prefix 'backup_' --keep-within=1d --keep-daily=7 --keep-weekly=4 --keep-monthly=12

	sync
	umount ${MOUNTPOINT}

fi

Nach dem Einhängen des Datenträgers wird überprüft, ob der Vorgang erfolgreich war und falls ja, die Datensicherung gestartet.

Die Zeile „borg create …“ sichert das komplette „home“-Directory des Benutzers „benutzername“, lässt hierbei allerdings den Inhalt der Ordner „.cache“ sowie „.local/share/Trash“ (Papierkorb) aus. Als Archivname wird „backup_JJJJ-MM-TT_SS-MM-SS“ verwendet.

Nach dem Anlegen der Sicherung wird mit „borg prune …“ ein Aufräumvorgang gestartet, welcher alle Sicherungen des letzten Tages sowie die jeweils aktuellste Sicherung der letzten 7 Tage, 4 Wochen und 12 Monate aufhebt und alle anderen Sicherungen entfernt.

Als letztes wird sichergestellt, daß alle zwischengespeicherten Schreibvorgänge synchronisiert werden, bevor der Ordner wieder ausgehängt wird.

Automatisierung

Idealerweise sollte eine Datensicherung regelmäßig stattfinden und damit die Konsistenz der Daten auf Anwendungsebene gesichert ist am besten dann, wenn kein Benutzer angemeldet ist.

Eine pragmatische Lösung ist das Anstoßen der Sicherung beim Herunterfahren des Rechners, zu einem Zeitpunkt, an dem alle vom Benutzer verwendeten Dokumente und Anwendungen geschlossen sind.

Hierzu wird ein systemd-Service mit Hilfe der Datei „/etc/systemd/system/borgbackup.service“ erstellt, welcher die Aufgabe übernimmt:

[Unit]
Description=Run borg backup
RequiresMountsFor=/root /home

[Service]
ExecStart=/bin/true
ExecStop=/root/backup.sh
Type=oneshot
RemainAfterExit=yes
TimeoutStopSec=300

[Install]
WantedBy=multi-user.target

Der Aufbau des Services ist recht einfach, wichtig ist die Definition von „RequiresMountsFor=„, welche dafür sorgt, daß der Service dann ausgeführt wird, wenn die entsprechenden Dateisysteme (noch) einhängt sind. Beim Start des Dienstes wird mit „/bin/true“ erfolgreich nichts getan, beim Beenden des Dienstes dann das Skript zur Datensicherung angestoßen. Die Angabe von „Type=oneshot“ und „RemainAfterExit=yes“ sorgt dafür, daß der Dienst weiterhin als aktiv angesehen wird, auch nachdem „/bin/true“ beendet wurde.

Da vor allem die initiale Sicherung je nach Menge der zu sichernden Daten länger als 90 Sekunden dauern kann, kann mit Hilfe des Parameters „TimeoutStopSec=“ die maximal mögliche Laufzeit der „ExecStop„-Aufgabe auf z.B. 5 Minuten verlängert werden.

Um den Service ins System einzubinden, muß ein

$ sudo systemctl enable borgbackup

erfolgen, gegebenenfalls gefolgt von einem

$ sudo systemctl start borgbackup

da „enable“ den Dienst zwar einbindet, aber nicht direkt startet.

Einen ersten manuellen Test kann man nach erfolgreichem Start mittels

$ sudo systemctl stop borgbackup

anstoßen, so daß der Dienst beendet und das Skript ausgeführt wird.

Versionshistorie:

2020-05-18: Parameter „TimeoutStopSec=…“ in Service-Definition hinzugefügt.

Kategorien
Anwendungen

Zoom unter Linux

Die Videochat-Software von Zoom ist aktuell in vielen Schlagzeilen zu finden und das leider nicht nur im positiven Sinn: von „Unter Beobachtung“ bis „Videokonferenz-Software: Ist Zoom ein Sicherheitsalptraum?“ – spätestens beim Gedanken daran, die Software auf das eigene System loszulassen, beschleicht den Systemadministrator mehr als nur ein ungutes Gefühl.

Wer Zoom trotzdem installieren will / muss und sich dabei halbwegs sicher fühlen will, kann die Software in einer Sandkiste wie z.B. Firejail einsperren.

Zoom

Den Client bezieht man am einfachsten über die Website des Herstellers, wo es den „Zoom-Client für Linux“ fertig gepackt für verschiedene Distributionen gibt.

Nach Herunterladen der gewünschten Version wird diese mittels

$ sudo apt install ./zoom_amd64.deb

inklusive der eventuell noch benötigten Abhängigkeiten installiert und noch vor dem ersten Start abgesichert.

Alternativ kann auch die Version für ein „Anderes Linux-Betriebssystem“ gewählt werden. Der Download ist dann ein gepacktes tar-Archiv, welches ohne Installation in einen beliebigen Ordner entpackt werden kann. Um Abhängigkeiten und Icon muss man sich dann allerdings selbst kümmern.

Firejail

Sofern nicht bereits installiert, kann Firejail in den meisten Fällen direkt aus dem Repository der verwendeten Distribution bezogen werden.

$ sudo apt install firejail

Ein Profil für Zoom wird mitgeliefert und findet sich nach der Installation unter „/etc/firejail/zoom.profile“

Damit beim Aufruf über das Icon in GNOME der Start auch tatsächlich mit Firejail erfolgt, ist der Aufruf von

$ firecfg --fix

Fixing desktop files in /home/benutzername/.local/share/applications
   ...
   Zoom.desktop created
   ...

notwendig, welcher die Links für alle „.desktop“-Dateien aus „/usr/share/applications“ auf absolute Dateipfade überprüft und im Bedarfsfall angepasste Kopien unter „/home/benutzername/.local/share/applications“ anlegt.

Ist Zoom dann gestartet, kann mit

$ firejail --list
3339:benutzername::/usr/bin/firejail /usr/bin/zoom

überprüft werden, daß Firejail auch tatsächlich verwendet wird.

Kategorien
Anwendungen

Entrust IdentityGuard Mobile und LineageOS

Auf den Versuch, Entrust IdentityGuard Mobile auf (m)einen Google Pixel mit aktuellem LineageOS 16 in Betrieb zu nehmen, hat die App nur mit einem

Manuelle Aktivierung wird auf einem ungesicherten Gerät nicht unterstützt

reagiert. Tatsächlich fördert die Suche auf der Entrust-Website die Info hervor, daß der Betrieb der App auf einem Custom Rom nicht möglich ist.

Entrust IdentityGuard mobile has detected that it is running on an unsecured device. Application exiting

The issue is that you have Jail broken (iPhone) Rooted (Android) or hacked/cracked your mobile device, you will not be able to install the soft token and will need to either install it on a different device (e.g. workstation or other mobile device) or switch to the eGrid Card.

Stattdessen läuft die App jetzt auf einem Nexus 4 unter Android 5.1.1mit Softwarestand Juli 2015, bestimmt ein riesiger Sicherheitsgewinn.

Kategorien
Betriebssysteme

xrdp für andere Benutzer als root aktivieren

Sollte nach der Installation von xrdp die Verbindung nur als root funktionieren und für alle anderen Benutzer verweigert werden, so hilft ein Eingriff in die Datei „/etc/X11/Xwrapper.config“: In der Zeile

allowed_users=console

den Wert von „console“ auf „anybody“ ändern.