Kategorien
Anwendungen

Adobe Photoshop CS5 unter Debian Buster

Auch wenn GIMP inzwischen zu einem brauchbaren Werkzeug geworden ist, ist Adobe Photoshop in vielen Disziplinen noch immer ungeschlagen. Leider ist keine native Linux-Version erhältlich und die Installation mittels Wine gestaltet sich mitunter zickig.

Der hier seit vielen Jahren im Einsatz befindliche Adobe Photoshop CS5 ließ sich aber – mit einigen Einschränkungen – trotzdem zu einer Installation überreden.

Kategorien
Anwendungen

.desktop-Datei mit Wine-Prefix

Sofern ein Windowsprogramm mit Wine installiert wird, legt der Installer i.d.R. auch eine Verknüpfung im Startmenü an. Ohne Installationsprozess muß die Datei von Hand erzeugt werden. Sofern noch ein WINEPREFIX verwendet werden soll, muß auch dieser im Starter angegeben werden.

Der dafür zuständige Ordner ist „.local/share/applications/wine/Programs/“, in diesem wird eine Textdatei mit der Endung „.desktop“ angelegt. Das Beispiel richtet die Verknüpfung für die Windows-Variante von „Lemmings“ ein, welche normalerweise direkt von CD startet, aber auch in jeden beliebigen Ordner kopiert werden kann.

[Desktop Entry]
Encoding=UTF-8
Name=Lemmings
Comment=Lemmings for Windows
Type=Application
StartupNotify=true
Exec=env WINEPREFIX=/home/Benutzername/.winlemm wine "/home/Benutzername/.winlemm/drive_c/WINLEMM/LEMMINGS.EXE"
Icon=/home/Benutzername/.winlemm/drive_c/WINLEMM/LEMMING.ICO
Path=/home/Benutzername/.winlemm/drive_c/WINLEMM/
StartupWMClass=LEMMINGS.EXE

Während in der Exec-Zeile die Groß- bzw. Kleinschreibung nach „wine“ egal ist (Windows trifft hier keine Unterscheidung), ist in den Angaben für „Icon“ und „Path“ auf eine korrekte Groß- bzw. Kleinschreibung zu achten.

Weiterführende Informationen finden sich im Artikel „.desktop-Dateien“ des Ubuntuusers-Wikis.

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.