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

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.

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.

XFCE: Dropbox-Icon funktioniert nicht

Problem: Das Dropbox-Icon in der Menüleiste von XFCE / Xubuntu 14.04 funktioniert nicht und zeigt nur einen durchgestrichenen roten Kreis:

Den folgenden Workaround habe ich unter https://bugs.launchpad.net/ubuntu/+source/nautilus-dropbox/+bug/1546176 gefunden, der für mich funktioniert („Works for me!“):

Terminal öffnen, folgendes Kommando eingeben:

dropbox stop && dbus-launch dropbox start

Und schon sieht das Symbol wieder wie gewünscht aus:

Für einen dauerhaften Fix deaktiviere man innerhalb der Dropbox-Einstellungen den automatischen Start beim Systemstart und füge den Befehl „dbus-launch dropbox start“ in die automatisch gestarteten Anwendungen innerhalb der XFCE4-Sitzungsverwaltung ein.

Sobald man also durch manuelle Eingabe (siehe oben) das Dropbox-Symbol hervorgezaubert hat, mit der linken Maustaste auf das Symbol klicken und die Einstellungen, Haken entfernen und mit OK verlassen:

Danach in die Einstellungen / Sitzung und Startverhalten gehen, auf den Tab „Automatisch gestartete Anwendungen“ wechseln, auf „Hinzufügen“ klicken und den Befehl passend eintragen – ich habe ihn hier noch in ein Script gepackt und entsprechend das Script eingetragen:

Kurztipp: upower -d

Um unter Linux Informationen über die Stromversorgung ermitteln zu können, kann man das Kommando „upower“ verwenden. Beispiel für die Ermittlung der Restlaufzeit des Akkus:

$ upower -d|grep -e "percentage" -e "time to empty"
    time to empty:       38,5 minutes
    percentage:          28%

Alternativ bedient man sich folgendermaßen:

$ cat /sys/class/power_supply/BAT0/uevent 
POWER_SUPPLY_NAME=BAT0
POWER_SUPPLY_STATUS=Discharging
POWER_SUPPLY_PRESENT=1
POWER_SUPPLY_TECHNOLOGY=Li-ion
POWER_SUPPLY_CYCLE_COUNT=0
POWER_SUPPLY_VOLTAGE_MIN_DESIGN=11100000
POWER_SUPPLY_VOLTAGE_NOW=10762000
POWER_SUPPLY_CURRENT_NOW=1279000
POWER_SUPPLY_CHARGE_FULL_DESIGN=3900000
POWER_SUPPLY_CHARGE_FULL=3680000
POWER_SUPPLY_CHARGE_NOW=730000
POWER_SUPPLY_CAPACITY=19
POWER_SUPPLY_CAPACITY_LEVEL=Normal
POWER_SUPPLY_MODEL_NAME=42T4688
POWER_SUPPLY_MANUFACTURER=SANYO
POWER_SUPPLY_SERIAL_NUMBER=18148