Kurztipp: Datei(en) mittels gpg mit einem Kennwort verschlüsseln

Mit gpg kann man ganz einfach Dateien mit einem Passwort verschlüsseln, um die darin enthaltenen Informationen a) vor neugierigen Blicken zu schützen und b) diese innerhalb eines Scripts wieder hervorzuzaubern.

Datei verschlüsseln

Wir haben ein Datei namens „geheim.txt“ und möchten diese mit dem Kennwort „qwertz“ verschlüsseln. Und das geht so:

$ echo "Geheime Informationen" > geheimnis.txt

$ gpg --symmetric --passphrase qwertz geheimnis.txt 

$ ls geheim*
geheimnis.txt  geheimnis.txt.gpg

Die verschlüsselte Datei erhält die Endung .gpg, die originale Datei bleibt erhalten.

Datei entschlüsseln

GPG kann auf die Standardausgabe entschlüsseln, was praktisch für das Scripting ist. Beispiel:

$ gpg --decrypt geheimnis.txt.gpg | tr "a-z" "A-Z"
gpg: AES verschlüsselte Daten
gpg: Verschlüsselt mit einer Passphrase
GEHEIME INFORMATIONEN

Ich nutze dies beispielsweise, um mit der Eingabe eines Kennwortes vier verschiedene, mit encfs verschlüsselte Verzeichniss zu mounten, deren Mountpoints und Passwörter in einer mit gpg verschlüsselten Datei hinterlegt sind. Ein wenig zeilenweises Auslesen mit „| while read line“ und anschließendem „cut“ und fertig ist das kleine Script.

Will man den Inhalt der Datei stattdessen wieder in eine unverschlüsselte Datei zurückschreiben, gibt man zusätzlich ihren Dateinamen an:

$ gpg -d -o entschlüsselt.txt geheimnis.txt.gpg

Techniktagebuch: Meine Gastbeiträge (Update)

Beim von mir sehr gern gelesenen Techniktagebuch habe ich ein paar Gastbeiträge eingereicht. Ich hoffe, sie gefallen Euch:

Das Techniktagebuch-E-Book

Sechs der obigen Gastbeiträge befinden sich auch in der aktuellen Gesamtausgabe des Techniktagebuchs, das hier (klick) als E-Book zum kostenlosen Herunterladen bereitsteht.

Kurztipp: Externe Daten in Excel2000 und LibreOffice

Nicht lachen, aber ich habe hier noch uralte Excel-Tabellen, die mit Daten aus externen Datenquellen gefüllt werden. Diese wollte ich nun auf LibreOffice umstellen und habe lange herumsuchen müssen.

Meine Datenquelle ist in beiden Fällen eine Tabelle einer auf einem anderen Rechner laufenden Firebird-Datenbank, die per „ODBC-Datenquellen-Administrator“ (odbcad32.exe) im System angemeldet ist. Für das Uralt-Excel2000 muss (auf meinem Windows7 Pro 64bit) dafür die Anwendung aus c:\Windows\SysWOW64\ verwendet werden, für LibreOffice (64bit) die Anwendung aus c:\Windows\System32\.

In Excel2000 wurde die Datenbanktabelle per Menü „Daten / Externe Daten“ und einem der Untermenüpunkte in die Tabelle eingefügt. Wenn in der Zwischenzeit Veränderungen innerhalb der Datenbank aufgetreten waren, wurden die nicht direkt in Excel sichtbar, sonder man musste per Menü „Daten / Daten aktualisieren“ bzw. einem Klick auf das passende Symbol in der Symbolleiste mit dem roten Ausrufezeichen die Daten auf den neuesten Stand bringen.

In LibreOffice Calc sollte man nicht Menü „Daten / Datenquelle“ wählen, dies wird sich als Sackgasse erweisen und man steht erst einmal wie ein Ochs vor’m Berg und fragt sich, was das soll.

Stattdessen wähle man Menü „Ansicht / Datenquellen“, die alle in LibreOffice Base definierten Datenbanken und deren Inhalte anzeigt. Nun klappt man die gewüschte Datenbank im Explorer auf, klappt die Tabellen auf, scrollt zur gewünschten Tabelle und zieht diese per Drag & Drop ins Tabellenblatt. Fertig.

Auch in LibreOffice Calc werden Veränderungen innerhalb der Datenbank nicht direkt im Tabellenblatt angezeigt. Dazu wähle man Menü „Daten / Bereich aktualisieren“. Et voilà!

Eine Schaltfläche habe ich in keiner Standard-Symbolleiste entdecken können, bei Bedarf muss man sich diese für „Breich aktualisieren“ selbst in eine vorhandene oder neue Symbolleiste konfigurieren.

Kurztipp: Infos zu eingebauten Laufwerken listen

sfdisk ist ein Linux-Kommando zum „Anzeigen oder Ändern der Partitionstabelle eines Mediums“ (Zitat „sfdisk –help“).

Sehr praktisch ist die Option „-l“, die die Partitionstabelle aller Laufwerke ausführlich listet, die dazu nicht gemountet sein müssen. sfdisk benötigt root-Rechte, unter Ubuntu also erst mit „sudo su“ root werden oder sudo voranstellen.

Beispielausgabe meines Ubuntu-Notebooks mit System-SSD mit Dualboot Win10/Linux (/dev/sda) und Datengrab-HDD (/dev/sdb):

$ sudo sfdisk -l
Medium /dev/sda: 232,9 GiB, 250059350016 Bytes, 488397168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 512 Bytes
I/O Größe (minimal/optimal): 512 Bytes / 512 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: 07A24E07-92A7-4474-9DB9-4CA70D454C55

Gerät Start Ende Sektoren Größe Typ
/dev/sda1 2048 3074047 3072000 1,5G EFI System
/dev/sda2 3074048 7170047 4096000 2G Microsoft reserved
/dev/sda3 7170048 247781375 240611328 114,8G Microsoft basic data
/dev/sda4 247781376 251877375 4096000 2G Windows recovery environment
/dev/sda5 251877376 252925952 1048577 512M BIOS boot
/dev/sda6 252925953 269309953 16384001 7,8G Linux Swap
/dev/sda7 269309954 369975295 100665342 48G Microsoft basic data
/dev/sda8 369975296 488394751 118419456 56,5G Microsoft basic data


Medium /dev/sdb: 1,8 TiB, 2000398934016 Bytes, 3907029168 Sektoren
Einheiten: sectors von 1 * 512 = 512 Bytes
Sektorengröße (logisch/physisch): 512 Bytes / 4096 Bytes
I/O Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Typ der Medienbezeichnung: gpt
Medienkennung: EF25AB15-8000-4D73-A748-4D17D5969B83

Gerät Start Ende Sektoren Größe Typ
/dev/sdb1 2048 3907028991 3907026944 1,8T Linux filesystem

Xubuntu 18.04 auf Fujitsu Amilo Pro V3515

Das in die Jahre gekommene Fujitsu Amilo Pro V3515 ist wahrlich keine Rakete mehr, aber als Terminal kann es immer noch sein Gnadenbrot verdienen. Dachte ich mir. Also das Live-ISO von Xubuntu 18.04 auf einen USB-Stick gepackt, davon gebootet und mit Freude erkannt, dass alles unterstützt wird. Xubuntu installiert und gebootet.

Problem: X läuft nach der Installation nur mit einer Auflösung von 640 x 480 Pixeln.

Lösung: Die folgenden zwei Zeilen in die Datei /etc/default/grub eintragen:

GRUB_GFXMODE="1280x800x32"
GRUB_GFXPAYLOAD_LINUX=keep

Anschließend grub aktualisieren:

sudo update-grub

Neu booten und freuen. Nun läuft nicht nur das Live-System sondern auch die installierte Xubuntu-Version in benutzbaren 1280 x 800 Pixel mit 32-bit Farbtiefe.

Fujitsu Amilo Pro V3515

Xubuntu 16.04 auf HP ProLiant Microserver Gen10

Ich weiß nicht, woran es liegt, aber das dutzendfach auf anderer Hardware durchgeführte Szenario „ISO-File auf USB-Stick dd’en, mit USB-Stick booten, installieren, fertig“ mag beim HP ProLiant Microserver Gen10 und Xubuntu 16.04 einfach nicht gelingen. Im HP steckt nur eine SSD am Sata-Port 5, das BIOS habe ich nicht verändert. Die direkte Installation aus dem GRUB-Bootmenü des Installations-USB-Sticks hängt irgendwo bei der Netzwerkerkennung, die grafische Installation friert zwischendurch ein oder scheitert alternativ im Anschluss an die Partitionierung beim Kopieren der ersten Dateien.

Als Ausweg habe ich das Installation-ISO für Ubuntu Server 16.04 verwendet, die Installation problemlos über die Text-Oberfläche durchgeführt, das frisch installierte System gebootet, obligatorisch mittels „apt update && apt upgrade“ auf den neuesten Stand gebracht, mittels „shutdown -r now“ den jüngsten jüngstinstallierten Kernel gebootet und dann ein „apt install xubuntu-desktop“ durchgeführt, um den Rest von Xubuntu nachzuinstallieren.

Ferner habe ich light-locker und/oder gnome-screensaver in Verdacht, dass sie unter X zum Einfrieren der grafischen Oberfläche führen – per ssh kam ich noch auf das System und konnte manchmal etwas durch einen Neustart von lightdm retten). Nachdem ich die beiden deinstalliert habe (light-locker macht auf meinen Ubuntu-Notebooks auch immer nur Mist), habe ich kein Einfrieren mehr feststellen müssen.

Vor 20 Jahren: PC und Netz effektiv nutzen

PC und Netz effektiv nutzen Kinder, wie die Zeit vergeht! Vor 20 Jahren durfte ich als Gastautor ein Kapitel zu einem Buch beisteuern, das Martin Rost im BHV-Verlag herausgab. Martin war irgendwie auf UDO aufmerksam geworden und dachte sich, dass ein Kapitel über Markup-Languages eine Bereicherung für sein Buch sein könnte. Ich erinnere mich daran, dass wir sehr sehr lange telefoniert hatten und Martin mich schließlich überredet hatte, einen Text zur Verfügung zu stellen. Ich war nie wirklich glücklich mit dem Resultat, da es damals wie heute ein Unterschied ist, Software zu schreiben oder über Software zu schreiben. Nun ja, der Lektor hatte einiges zu tun, und schließlich war das Kapitel dann doch halbwegs druckreif. 😉

Bemerkenswert ist, dass die beschriebenen Formate (SGML, HTML, LaTeX, RTF) bis heute eine Rolle spielen, und sei es bei RTF z.B. als E-Mail-Format innerhalb Microsoft Outlook oder UDO als Debian-Paket. Ob UDO überhaupt noch jemand nutzt? Ich habe keinen blassen Schimmer.

Wer sich für das Buch interessiert, der findet es für wirklich kleines Geld gebraucht bei Amazon, das Inhaltsverzeichnis und Martins Vorwort findet man auf Martins Webseite:

Sony Xperia X Compact und Ubuntu 14.04

Stand heute (04.03.2017) wird mein Sony Xperia X Compact („XC“) nicht als MTP-Gerät von Ubuntu 14.04.5 LTS erkannt, wenn ich es mit dem beigefügten USB-Kabel an mein Notebook anschließe. dmesg zeigt dies hier:

[294511.879537] usb 2-1.2: new high-speed USB device number 17 using ehci-pci
[294511.973305] usb 2-1.2: New USB device found, idVendor=0fce, idProduct=01e8
[294511.973313] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[294511.973318] usb 2-1.2: Product: F5321
[294511.973321] usb 2-1.2: Manufacturer: Sony
[294511.973324] usb 2-1.2: SerialNumber: QV702xxxxx

Beim Anstöpseln des XC und Wahl von „Dateien übertragen“ spuckt das Syslog dies hier aus:

Mar  4 09:49:56 localhost kernel: [295026.967823] usb 2-1.2: new high-speed USB device number 19 using ehci-pci
Mar  4 09:49:56 localhost kernel: [295027.061437] usb 2-1.2: New USB device found, idVendor=0fce, idProduct=01e8
Mar  4 09:49:56 localhost kernel: [295027.061445] usb 2-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar  4 09:49:56 localhost kernel: [295027.061449] usb 2-1.2: Product: F5321
Mar  4 09:49:56 localhost kernel: [295027.061453] usb 2-1.2: Manufacturer: Sony
Mar  4 09:49:56 localhost kernel: [295027.061456] usb 2-1.2: SerialNumber: QV702FGJ0B
Mar  4 09:49:56 localhost mtp-probe: checking bus 2, device 19: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2"
Mar  4 09:49:56 localhost mtp-probe: bus: 2, device: 19 was not an MTP device

„Device was not an MTP device“. Vermutung: Linux führt irgendwo eine Liste, anhand derer entschieden wird, ob ein USB-Gerät ein MTP-Device ist oder nicht. Und richtig, diese befindet sich hier:

/lib/udev/rules.d/69-libmtp.rules

Folgendes ist zu erledigen:

  • Als root mit einem Editor die Datei öffnen:
    sudo vi /lib/udev/rules.d/69-libmtp.rules
  • Einen Eintrag kopieren und einfügen (ich habe die des „Z3 compact“ gewählt)
  • idProduct durch die des X Compact ersetzen (siehe syslog-Ausgabe: 01e8)
  • Datei speichern
  • Smartphone neu anstöpseln und „Datei übertragen“ wählen
  • Freuen!

Für die Copy-Paster unter Euch hier meine beiden Zeilen für die libmtp.rules:

# SONY Xperia X Compact MTP
ATTR{idVendor}=="0fce", ATTR{idProduct}=="01e8", SYMLINK+="libmtp-%k", MODE="660", GROUP="audio", ENV{ID_MTP_DEVICE}="1", ENV{ID_MEDIA_PLAYER}="1"

Update: Hat man auf dem X Compact in den Entwickleroptionen das USB-Debugging aktiviert, so meldet es sich mit der idProduct 51e8. Eine weitere Zeile ist dann den MTP-Rules hinzuzufügen.