Anwendungen
Portal
Forum
Wiki
Ikhaya
Planet
Mehr
Anmelden

gestern

Steam als Root?

Permalink Intux

valve-logoSeit meinem Upgrade auf Debian Jessie 8 (Testing) versuchte ich den proprietären Grafik-Treiber von AMD auf mein System zu bekommen. Dieser war lange Zeit aus den Paketquellen verbannt. Seit dieser Zeit verwende ich den freien RadeonDriver xserver-xorg-video-ati. Ich muss sagen mit wachsender Begeisterung. Mit ein paar Einstellungen arbeitet er perfekt und man hört die Lüfter des Notebooks sehr selten schnaufen.

Bis vor kurzem konnte ich ohne Anpassungen am System kein Half-Life etc. spielen. Ich wurde quasi mit meinem freien Treiber im Spiele-Portal Steam ungern gesehen. Nach dem erneuten Aufsetzen von Jessie (Debian Jessie Beta Gnome Installations CD 64-bit) stellte ich durch Zufall fest, dass ich nun auch ohne den proprietären Treiber problemlos meine Steam-Games zocken kann. Super!

Leider gelang es mir aber Steam nur als Root zu starten.
Die Ausgabe im Terminal sah wie folgt aus:

/usr/games/steam %U
CODE: ALLES AUSWÄHLENRunning Steam on debian  64-bit
STEAM_RUNTIME is enabled automatically
[2014-09-25 21:50:49] Startup - updater built Jul 11 2014 16:38:48
SteamUpdateUI: An X Error occurred
X Error of failed request:  BadValue (integer parameter out of range for operation)

Nach einiger Suche und der Bemühung des Debianforums fand ich die Lösung. Ich habe einfach den ~/.steam-Ordner im Home-Verzeichnis entfernt, den ich seit Ubuntu-Zeiten schon mitschleppe.

Nun klappt’s auch mit Steam und ich bleibe beim freien Radeon-Grafiktreiber!

Zeit sparen durch Verwendung von Aliases in der Kommandozeile

Permalink raspitux

Wer täglich mehrere Stunden an einem PC arbeitet und viel dabei noch in der Kommandozeile unterwegs ist, kann seine Zeit effektiver nutzen. Durch einen Artikel habe ich erfahren, dass man unter Verwendung von Aliase deutlich Zeit sparen kann. Gerade bei Kommandos die häufiger verwendet werden, ist es sinnvoll ein Alias zu vergeben und für den selben Befehl nur noch ein Kürzel einzugeben. Ich habe beispielsweise den Befehl sudo apt-get update somit in sagu gekürzt.

Als erstes solltet ihr Euch bewusst sein, welche (langen) Kommandos ihr häufig verwendet. Im Anschluss sucht ihr euch eingängige und individuelle Abkürzungen dafür. Nun gilt es diese Abkürzungen dem System mitzuteilen. Dies geschieht auf eine sehr einfache Art und Weise:

Öffnet das Terminal und erstellt im Homeverzeichnis die Datei .bash_aliases
Dies geschieht mit folgendem Befehl:

1
Das Programm nano benutzen wir als Textprogramm um dort unsere Aliase einzugeben. Der Syntax ist folgendermaßen aufgebaut:

alias KÜRZEL=’ORIGINALBEFEHL’
in meinem Falle also z.B:

alias sagu = ‘sudo apt-get update’

2

3

Sollten wir alle relevanten Kürzel eingetragen haben, so können wir das Programm mittels STRG+X und anschließendem J fürs Speichern verlassen. Nun haben wir dadurch die Datei bash_aliases erstellt.

Nun müssen wir die neue Datei ins System einlesen. Dies geschieht mit folgendem Befehl: source .bash_aliases

4

Mich würde es interessieren, welche Befehle bei euch mittlerweile in der bash_aliases stehen um Euch den Alltag zu erleichtern :-)

Kreativer Sortieralgorithmus

Permalink Invictus deus ex machina

Es gibt viele Sortieralgorithmen und einige davon wie Bogosort sind Musterbeispiele für schlechte Algorithmen. Auf 4Chan wurde vor einiger Zeit ein sehr kreativer Algorithmus zum Sortieren vorgestellt:

#!/bin/bash

function f() {
    sleep "$1"
    echo "$1"
}

while [ -n "$1" ]
do
    f "$1" &
    shift
done

wait

Dieser in Form einenes Shellskriptes implementierte Algorithmus nutzt, dabei die Sleep-Funktion zur Sortierung der eingegebenen Zahlen. Das bedeutet um so größer die Zahl um so länger wartet der Sleepbefehl. Damit werden alle Zahlen in ihre richtige Reihenfolge gebracht. Das bedeutet natürlich auch, um so höher die Zahlen um so länger dauert das ganze.

29. September 2014

Linux 3.17-rc7

Permalink menzer.net

Ups, das war wohl nix. Statt einer stabilen Version legt uns Torvalds noch einen -rc7 vor die Nase.

Tatsächlich machte die Anzahl der Patches nochmal einen Sprung nach oben, sodass von einer Beruhigung der Entwicklung nicht mehr die Rede sein konnte. Dabei entfallen alleine 360 Codezeilen darauf, dass Quellcode im Umfeld des i2c-Buses von einer Datei in eine andere verschoben wurde. Deieser Pull Request beinhaltete auch einige kleinere Korrekturen nicht ganz so kleine Fehler.

Ansonsten fielen die Änderungen mehr aufgrund ihrer Anzahl als ihrer Größe ins Gewicht. Sie verteilen sich über fast alle Bereiche des Kernels, mit einem deutlichen Schwerpunkt auf den Treibern – wie fast immer.

Die kleine Statistik:

Commits geänderte Dateien eingefügte Zeilen gelöschte Zeilen Datum Tage *
3.17-rc1 11 528 9 947 629 361 651 438 16. Aug 2014 13
3.17-rc2 266 234 2 863 1 013 25. Aug 2014 9
3.17-rc3 307 394 13 992 13 018 31. Aug 2014 6
3.17-rc4 208 154 1 452 717 7. Sep 2014 7
3.17-rc5 379 331 3 961 2 087 15. Sep 2014 8
3.17-rc6 198 167 1 078 612 21. Sep 2014 6
3.17-rc7 337 285 2 854 1 634 28. Sep 2014 7
Gesamt 13 229 10 592 653 122 668 080 56

* Tage seit dem letzten rc/Release

Quellen: Linux Kernel Mailing List

Celestia

Permalink Invictus deus ex machina

Wer sich gerne ab und an die Sterne anschaut und der Astronomie nicht abgeneigt ist, sollte sich die freie Software Celestia anschauen. Bei dieser Software handelt um eine 3D-Simulation des bekannten Universums. Im Gegensatz zu vielen anderen Astronomieprogrammen kann man sich bei Celestia frei im Raum bewegen. Über hunderttausend Sterne sind in der Datenbank von Celestia zu finden.

Celestia unter Windows.

Celestia unter Windows.

Celestia kann auf der offiziellen Seite für Linux, Mac OS X und Windows bezogen werden. Lizenziert ist Celestia unter der GPL. Der Quelltext ist auf SourceForge zu finden.

Symbol-Vielfalt in LibreOffice

Permalink Intux

libreofficetdflogo

Wer die aktuelle Version LibreOffice bereits auf einem Windows-Rechner verwendet hat, wird eventuell festgestellt haben, dass sich die Symbolleiste nicht nur zwischen den Vorgaben Galaxy und Tango umschalten lässt, sondern LibreOffice über weitere wie Highcontrast-, Oxygen-, Crystal- und den flachen Sifr-Sybole verfügt.

Will man unter Debian diese Auswahl auch entprechend erweitern, so installiert man die Styles einfach nach.

# apt-get install libreoffice-style-sifr libreoffice-style-hicontrast libreoffice-style-oxygen libreoffice-style-crystal

So kann man dann die Symbolleiste seinen Wünschen entsprechend anpassen:

Extras -> Optionen -> LibreOffice -> Ansicht -> Symbolgröße und Schriftstil

Hier der Link zum Projekt http://de.libreoffice.org/

Viel Spaß!

28. September 2014

Bypass Windows-Login, oder: Wie man es nicht macht

Permalink KopfKrieg

Ich liebe Herausforderungen. Zumindest die, von denen ich glaube, sie schaffen zu können. Vor allem diejenigen, bei denen nichts schiefgehen kann und ich mir bereits im vornerhein zu hundert Prozent sicher bin, dass ich das auch tatsächlich hinbekomme. Herausforderungen im Stile von „Ich wette, du schaffst es nicht, meinen Windows-Account zu knacken“. Und mal ehrlich: Was könnte da schon schiefgehen?

Im Gegensatz zu meinem letzten Artikel geht es hierbei nicht darum Daten nur auszulesen sondern darum, tatsächlich den Windows-Login zu umgehen um auf besagtem Rechner die installierte Software nutzen zu können. Das genau „Warum?“ will ich hier gar nicht beantworten, sagen wir einfach: Warum nicht?

Zur Verfügung stand mir also eine Standard Windows 7 Installation ohne Verschlüsselung oder sonstige Spielereien.

Vorbereitung

Ich bin wie gesagt ein Freund der Linux-Distribution Kali und hatte mir diesmal, wenn ich schon dabei war, auch vorgenommen gleich einen „Live Persistence USB-Stick“ anzufertigen. Das ist ein Live-USB-Stick welcher Kali Linux bootet, zusätzlich aber noch eine ~5GB große „persistence“-Partition mitbringt, auf welcher Änderungen oder auch beliebige Daten dauerhaft gespeichert werden können. Das bedeutet, dass ich damit all meine Änderungen, die ich bisher nach jedem Start von Kali Linux vorgenommen hatte nur noch ein einziges mal vornehmen muss.

Den USB-Stick anfertigen

Die Vorgehensweise ist dabei erstaunlich einfach. Zunächst kopiert man das Image der aktuellen Version mittels dd auf einen mindestens 8GB großen USB-Stick:
dd if=kali-linux-1.0.9-amd64.iso of=/dev/sdb bs=1M
Anschließend erzeugt man eine weitere, etwa 5GB große Partition. Ich habe dies mittels GParted vorgenommen, die Partition wird als /dev/sdb3 erkannt. Kali Linux identifziert die Partition übrigens anhand des Namens, weshalb man diesen noch ändern muss. Die Partition formatiert man nun noch im ext3-Format und speichert darauf eine Konfigurationsdatei welche Kali Linux später mitteilt, wie die Partition eingehangen werden muss.
# mkfs.ext3 -L persistence /dev/sdb3
# e2label /dev/sdb3 persistence
# mkdir -p /mnt
# mount /dev/sdb3 /mnt
# echo "/ union" > /mnt/persistence.conf
# umount /dev/sdb3
Von nun an kann der USB-Stick mit der Option persistence gebootet werden und verliert keine Daten mehr.

Tools ausfindig machen

Unter Linux werden sämtliche Passwörter in der Textdatei /etc/shadow gespeichert. Anders gesagt: Will ich ein Passwort ändern, dann ändere ich einfach den Hashwert in besagter Datei. Das ist nicht schwierig und auch ein Backup inklusive anschließendem Wiederherstellen der originalen Passwörter ist - ohne diese zu kennen - problemlos möglich. Dadurch kann man sehr einfach Zugriff erlangen und hinterlässt auch nur wenige Spuren, wenn man es richtig anstellt sogar gar keine.

Unter Windows hingegen sieht die Sache anders aus. Die relevanten Dateien liegen alle unter C:\Windows\System32\config. Die SAM-Datenbank (Secure Account Manager) ist keine einfache Textdatei sondern eine Binärdatei, was die Sache um ein vielfaches komplizierter machen kann. Und auch die Dateien SYSTEM und SECURITY, welche ebenfalls gebraucht werden, liegen nicht im Klartext vor. Glücklicherweise gibt es einige Tools, welche die SAM-Datenbank bearbeiten können oder auch einfach nur den Windows-Login umgehen.

Aus meiner Schulzeit ist mir hierbei noch Kon-Boot bekannt, welches den Windows-Login direkt umgeht (bypass). Allerdings ist die Software Closed Source und ich kann beziehungsweise will sie daher, aus ideologischen Gründen, nicht nutzen. Letztlich bleibt, neben einigen anderen Tools von zweifelhaftem Ruf, noch das kleine Programm chntpw übrig, welches in der Lage ist die Daten in der SAM-Datenbank darzustellen und entsprechend zu verändern (chntpw steht übrigens für „change NT password“).

Los geht's

Mit dem angeeignetem Wissen macht man sich also ans Werk und bootet Kali Linux auf dem Windows-Rechner. Anschließend findet man heraus, auf welcher Festplatte und Partition sich die Windows-Installation befindet:
# fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders, total 1953525168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xde1d875c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1          206848  1953521663   976657408    7  HPFS/NTFS/exFAT

Disk /dev/sdb: 240.1 GB, 240057409536 bytes
255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4024fb0a

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048      206847      102400    7  HPFS/NTFS/exFAT
/dev/sdb2          206848   468858879   234326016    7  HPFS/NTFS/exFAT

Disk /dev/sdc: 8027 MB, 8027897856 bytes
177 heads, 32 sectors/track, 2768 cylinders, total 15679488 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x4d26df41

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *          64     5777279     2888608   17  Hidden HPFS/NTFS
/dev/sdc2         5777408    15679487     4951040   83  Linux
Das geschulte Auge sollte sehen, dass /dev/sdc der USB-Stick ist, von dem aus man gebootet hat. Auf /dev/sdb1 ist das Boot-Flag aktiv, auf /dev/sda1 hingegen nicht. Allerdings ist /dev/sdb1 für eine Windows-Partition etwas zu klein, das heißt Windows wird wohl auf /dev/sdb2 liegen.

Überprüfen kann man das, indem man die Parition einhängt und sich ansieht, welche Dateien vorhanden sind:
# mount /dev/sdb2 /mnt
# cd /mnt
# ls -l
total 9430401
lrwxrwxrwx 2 root root         60 Jul 14  2009 Documents and Settings -> /mnt/Users
drwxrwxrwx 1 root root       4096 Aug 19 20:25 ProgramData
drwxrwxrwx 1 root root       4096 Aug 20 19:14 Program Files
drwxrwxrwx 1 root root       8192 Aug 29 08:18 Program Files (x86)
drwxrwxrwx 1 root root          0 Jul 27 18:04 Recovery
drwxrwxrwx 1 root root          0 Sep 14 17:50 $Recycle.Bin
drwxrwxrwx 1 root root       8192 Sep 14 19:26 System Volume Information
drwxrwxrwx 1 root root       4096 Sep 14 17:50 Users
drwxrwxrwx 1 root root      16384 Sep 14 12:31 Windows
Das sieht doch gut aus, nicht?

Kennwort knacken

Das Kennwort zu knacken ist eine Möglichkeit um Zugriff auf das Konto zu erhalten, ohne dabei am Rechner selbst etwas ändern zu müssen. Das erscheint auf den ersten Blick wesentlich einfacher, allerdings braucht ein langes Passwort auch entsprechend lange, bis es geknackt wurde - vor allem, wenn man auf Brute-Force setzt.

Die SAM-Datenbank, in welcher die Hashwerte der Kennworte lagern, ist unter Windows 7 mittels eines Syskeys verschlüsselt. Dieser befindet sich zum Glück innerhalb des gleichen Verzeichnisses wie auch die SAM-Datenbank. Aus meiner Sicht für den normalen Nutzer also irrelevant und eher Security through obscurity, allerdings kann man den Syskey auch auslagern, etwa auf einen USB-Stick den man bei sich trägt. Bei nicht vorhandener Vollverschlüsselung nutzt einem das, wenn man lediglich an die Daten will, aber herzlich wenig.

1. Windows Syskey auslesen

Das Auslesen des Syskeys funktioniert mit dem Tool bkhive. Dazu wechselt man in das Verzeichnis /mnt/Windows/System32/config und nutzt bkhive um die Daten aus der Datei SYSTEM auszulesen. Die daraus entstehende Datei speichert man in einem beliebigen Verzeichnis:
# bkhive SYSTEM /tmp/bkhive.dat
bkhive 1.1.1 by Objectif Securite
http://www.objectif-securite.ch
original author: ncuomo@studenti.unina.it

Root Key : CMI-CreateHive{E65EB4BF-2520-6CD0-F87F-7B457C32F5E6}
Default ControlSet: 001
Bootkey: 3afe09cd8769ea71ba7d86e599b5b905

2. SAM-Datenbank auslesen

Mit dem ermittelten Syskey und dem Tool samdump2, welches von den gleichen Entwicklern (oder dem gleichen Entwickler?) wie bkhive stammt, kann man nun die SAM-Datenbank entschlüsseln und auslesen:
# samdump2 SAM /tmp/bkhive.dat 
samdump2 1.1.1 by Objectif Securite
http://www.objectif-securite.ch
original author: ncuomo@studenti.unina.it

Root Key : CMI-CreateHive{E65EB4BF-2520-6CD0-F87F-7B457C32F5E6}
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Gast:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
username:1000:aad3b435b51404eeaad3b435b51404ee:0cb6948805f797bf2a82807973b89537:::
HomeGroupUser$:1002:aad3b435b51404eeaad3b435b51404ee:a9d38d05ef59f0bde0d98564ebe31424:::
Die letzten vier Zeilen sind dabei immer gleich aufgebaut und ähneln dem, was man auch von Unix/Linux her kennt. Durch Doppelpunkte getrennt stehen dabei zuerst der Benutzername, dann die Benutzer-ID, anschließend der LM-Hash sowie der NTLM-Hash. Da LM-Hashes nicht mehr verwendet werden, ist für alle 4 Konten der Wert aad3b435b51404eeaad3b435b51404ee eingetragen, welcher für ein leeres Passwort steht. Das NTLM-Pendant (eingetragen beim Administrator und Gast-Account) sieht so aus: 31d6cfe0d16ae931b73c59d7e0c089c0.

3. Hashes berechnen

Theoretisch kann man mittels hashcat oder auch oclhashcat, wobei letzeres auf der Grafikkarte läuft, das Passwort knacken. Allerdings haben sich bei mir beide Programme partout geweigert überhaupt irgendwas zu machen. Vor allem bei oclhashcat hätte mich interessiert, wie schnell ein ~8-stelliges Passwort auf einer aktuellen Grafikkarte geknackt werden kann. Leider musste ich auch genannten Gründen dann auf eine Alternative zurückgreifen, namentlich John the Ripper, oder kurz: john.

Damit john mit den Daten auch etwas anfangen kann muss man diese in ein bestimmtes Format bringen, das heißt man erstellt eine Datei mit dem Inhalt <username>:<hashwert>. Für meinen Test-Account mit dem Namen „username“ sieht das so aus:
username:0cb6948805f797bf2a82807973b89537
Nun kann man john mit entsprechenden Parametern aufrufen:
# john -format=nt2 /tmp/hashes.txt
Created directory: /root/.john
Loaded 1 password hash (NT MD4 [128/128 SSE2 intrinsics 12x])
test             (username)
guesses: 1  time: 0:00:00:00 DONE (Sat Sep 27 18:04:51 2014)  c/s: 1200  trying: TestuserTestuser - estuse
Use the "--show" option to display all of the cracked passwords reliably
Eine übersichtlichere Ausgabe erhält man allerdings mit dem Parameter --show:
# john -format=nt2 --show /tmp/hashes.txt
username:test

1 password hash cracked, 0 left

4. Testen

Natürlich musste ich mein Ergebnis ausprobieren und in der Tat, auf dem Test-Account konnte ich mich mit Hilfe des Passwortes test problemlos anmelden. Da dies der einzig aktive Account war, hatte ich zudem Administratorrechte.

Passwörter ändern bzw. löschen

Doch damit nicht genug: Was ist, wenn das Passwort länger ist, sagen wir 64 Zeichen, und man es nicht innerhalb von Stunden, Tagen oder Monaten via Brute-Force knacken kann? Was, wenn auch keine Rainbowtables und Wörterbuchattacken mehr helfen? Dann ist es an der Zeit, ein anderes Programm zu verwenden: chntpw.

Passwort ändern

Mittels chntpw kann man, wie bereits geschrieben, Passwörter ändern. Allerdings findet man in diversen Foren immer wieder verzweifelte Nutzer bei denen anschließend weder das alte noch das neue Passwort funktionierten. Bei mir hing Windows sogar in einer Boot-Schleife fest und auch der „Abgesicherte Modus“ konnte nicht mehr erreicht werden. Daher eine Warnung: Wer mit chntpw ein Passwort ändert muss sich darauf gefasst machen, dass anschließend auch eine Neuinstallation anstehen könnte. Trotzdem hier der Befehl, welcher wiederum im Verzeichnis /mnt/Windows/System32/config ausgeführt werden muss:
# chntpw -u "username" SAM
Aus der Sache mit der Boot-Schleife bin ich übrigens herausgekommen, indem ich in die Recovery des PCs gelangt bin und dem Tool das machen habe lassen, wofür es gedacht ist: Beschädigte Dateien wiederherstellen. Dass das funktioniert hat grenzt schon an ein Wunder, ist Windows doch nicht unbedingt dafür bekannt Probleme zu lösen.

Passwort löschen

Wesentlich sicherer ist es, das Passwort komplett zu löschen. Doch auch hier besteht noch die Gefahr, dass man sein Windows gleich neu installieren darf. Um das Passwort zu löschen startet man chntpw im interaktiven Modus:
# chntpw -i SAM
Anschließend wählt man den Nutzeraccount aus, den man löschen möchte und wählt „1 - Clear (blank) user password“ aus. Danach muss man die Änderungen noch auf die Festplatte schreiben, dies muss mit „y“ bestätigt werden.

Doch auch bei dieser Methode hatte ich Unglück und konnte mich immer noch nicht an meinem Test-Account anmelden. Anders gesagt: Ich konnte mich weder mit dem alten Passwort, dem neuen Passwort noch ohne Passwort anmelden. Doch auch dieses Problem lässt sich lösen, wie der nächste Punkt zeigen wird.

Account freischalten

Was mit hoher Wahrscheinlichkeit funktioniert (nach dem, was ich jetzt schon alles mit chntpw durchgemacht habe will ich von „garantiert funktioniert“ lieber Abstand nehmen), ist den Administrator-Account zu entsperren. Wenn man sich nämlich die vorhandenen Benutzerkonten ansieht, fällt auf, dass ein Administratoraccount zwar vorhanden, dieser aber deaktiviert ist:
# chntpw -l SAM
chntpw version 0.99.6 080526 (sixtyfour), (c) Petter N Hagen
Hive <SAM> name (from header): <\SystemRoot\System32\Config\SAM>
ROOT KEY at offset: 0x001020 * Subkey indexing type is: 666c <lf>
Page at 0x10000 is not 'hbin', assuming file contains garbage at end
File size 262144 [40000] bytes, containing 7 pages (+ 1 headerpage)
Used for data: 280/55296 blocks/bytes, unused: 13/5920 blocks/bytes.


* SAM policy limits:
Failed logins before lockout is: 0
Minimum password length        : 0
Password history count         : 0
| RID -|---------- Username ------------| Admin? |- Lock? --|
| 01f4 | Administrator                  | ADMIN  | dis/lock |
| 01f5 | Gast                           |        | dis/lock |
| 03ea | HomeGroupUser$                 |        |          |
| 03e8 | username                       | ADMIN  |          |
Dafür geht man wiederum in den interaktiven Modus von chntpw, nimmt den Administrator-Account und wählt die vierte Option „Unlock and enable user account“ aus. Die Änderungen bestätigt man wiederum und schreibt diese auf die Festplatte.

Das System letztlich geradebiegen

Ich fasse nochmal zusammen: Bei der Änderung des Passwortes habe ich versehentlich eine Boot-Schleife erzeugt, mittels der Recovery bin ich da (zum Glück) wieder herausgekommen. Auch das Passwort zu löschen hat mir nicht viel geholfen, denn von da an war es mir überhaupt nicht mehr möglich, mich überhaupt am System anzumelden. Mittels des nun aktivierten Administrator-Accounts konnte ich mich aber am System anmelden, ein Passwort ist nicht erforderlich. Über die Systemeinstellungen von Windows konnte ich so das Passwort des Test-Accounts ändern oder auch löschen, wobei ch mich für letzters entschieden habe. Anschließend habe ich mich ausgeloggt und ohne Passwort am Test-Account eingeloggt. Da dies funktioniert hatte, habe ich das Administrator-Konto wiederum über die Eingabeaufforderung deaktiviert:
net user Administrator /active:no
Der Befehl ist nicht unbedingt intuitiv aber funktioniert. Damit wäre das System wieder am Anfangszustand. Zumindest mehr oder weniger, wer weiß was chntpw und die Windows-Recovery noch alles verändert haben.

Fazit

Die ganze Aktion hatte mich knappe 2 Tage gekostet. Theoretisch ist es einfach: Kali Linux booten, Passwort knacken oder löschen, fertig. Praktisch hatte sich das ganze, vor allem wegen chntpw, um einige Stunden verlängert. Zwar hatte das eigentliche knacken des Passwortes, was eigentlich schon ausgereicht hätte, zwar tatsächlich nur wenige Minuten gedauert, allerdings muss man auch die Zeit mitrechnen, die man braucht, bis man alle Informationen gesammelt hat um überhaupt so weit zu kommen.

Wochenrückblick 39/2014

Permalink deesaster.org

Der Wochenrückblick lässt das Geschehen der vergangenen Woche rund um Ubuntu, Linux und Open Source Revue passieren.

Rund um Ubuntu

Finale Beta von Ubuntu 14.10

Nur noch einen Monat, dann erscheint Ubuntu 14.10 „Utopic Unicorn“. Wie immer gibt es vorab eine finale Beta-Version von Ubuntu und der Derivate Kubuntu, Xubuntu, Lubuntu, Ubuntu GNOME, Ubuntu Kylin und Ubuntu Studio.

Wie immer sei angemerkt, dass Beta-Versionen nur für Entwickler und Test und nicht für den täglichen, produktiven Einsatz gedacht sind.

Quellen: Ubuntu Fridge, OMG!Ubuntu!, Pro-Linux, heise open

Oracle und Canonical arbeiten zusammen

Canonical hat die Woche bekannt gegeben, dass Oracle und Canonical zusammenarbeiten, um die Unterstützung der Betriebssysteme der jeweils anderen Firma auf ihren eigenen OpenStack-Implementierungen zu verbessern. Kunden sollen damit Ubuntu als Gastsystem auf Orace Linux OpenStack laufen lassen können und umgekehrt soll Orace Linux als Gastsystem auf Ubuntu OpenStack laufen.

Quellen: Ubuntu Insights, Linux-Magazin

Turin wechselt zu Ubuntu

Turins Stadtverwaltung plant in den kommenden anderthalb Jahren das veraltete Windows auf den 8300 PCs der Stadt durch Ubuntu zu ersetzen. Vor allem wegen der alten Hardware, auf denen Windows 7 und 8 nicht mehr läuft, habe man sich für ein Linux-Betriebssystem entschieden.

Quelle: Pro-Linux, Linux-Magazin

Full Circle Magazine 89

Diese Woche ist die neue Ausgabe des englischsprachigen Magazins Full Circle Magazine erschienen. Themen der 89. Ausgabe sind unter anderem Tutorials zu GIMP, Inkscape und LibreOffice, eine Anleitung zur Installation von Oracle-DB, Erfahrungen mit Kodi/XBMC der zweite Teil zur Kompilierung des Kernels.

Quelle: Full Circle Magazine Blog

Neues rund um Linux

ShellShock: Sicherheitslücken in der Bash

Die Meldungen zu Sicherheitslücken in der Bash häufen sich und sind inzwischen größer als ShellShock. Bei der Lücke war es möglich, dass man als Angreifer beliebigen Code über eine präparierte Umgebungsvariable im System ausführen konnte.

Mehr Informationen gibt es im Blog-Artikel.

Weitere Quellen: Linux-Magazin, Golem, Pro-Linux, heise open (1), (2), (3), (4)

Weitere Sicherheitslücke in APT

Auch das Paketmanagementsystem APT, welches unter Ubuntu genutzt wird, hat eine Sicherheitslücke, sodass sich Angreifer einen Pufferüberlauf zu Nutze machen könnten, um Schadcode auszuführen.

Mehr Informationen gibt es im Blog-Artikel.

Weitere Quellen: heise open, Golem

Spielen unter Linux

Humble Bundle: PC and Android 11

Noch bis zum 7. Oktober kann man beim aktuellen Humble Bundle: PC and Android 11 zehn DRM-freie Linux-Spiele zum Selbstbestimmungspreis ergattern. Neben Tower-Defense-Spielen sind auch drei Adventure mit dabei und eine Brettspielumsetzung.

Mehr Informationen gibt es im Ikhaya-Artikel.

Weitere Quellen: Pro-Linux

Tropico 5 für Linux

Spielepublisher Kalypso Media hat das tropische Aufbauspiel Tropico 5 auch für Linux auf Steam veröffentlicht. Wer das Spiel bereits für Windows gekauft hat, erhält die Linux-Version kostenlos.

Quellen: Pro-Linux, heise open

Counter-Strike: Global Offensive für Linux ist da

Vor zwei Wochen wurde noch spekuliert, jetzt ist es offiziell: Counter-Strike: Global Offensive (CS: GO) ist auf Steam für Linux verfügbar. Der Taktikshooter ist dabei ein weiterer großer Titel aus dem Haus Valve, der für Linux portiert wurde.

Quelle: OMG!Ubuntu!

Strategiespiel Cannon Brawl veröffentlicht

Bei Cannon Brawl handelt es sich um ein Strategiespiel, bei der Tower-Defense-Anleihen mit der Steuerung von Worms gemischt wird.

Quelle: LinuxGames

Another World für Linux portiert

Spieleportier-Guru Ryan „Icculus“ Gordon hat das großartige Computerspiel Another World von 1991 auf Linux portiert, was nun auf Steam angeboten wird. In dem Polygon-Spiel übernimmt man die Rolle eines Forschers, der nach einem schief gegangenem Experiment in einer fremden Welt überleben muss.

Quelle: LinuxGames

Linux tar Grundlagen

Permalink Finns Blog

Vor allem als noch recht frischer Linux Nutzer erscheint einem das häufig verwendete tar-Dateiformat für Archive ein wenig kompliziert. Es bestehen einige Unterschiede zu dem eher bekannten zip-Dateiformat, aber wenn man die gebräuchlichsten Optionen von tar kennt, ist der Umgang einfach und gleichzeitig vielseitig.

Zuerst sei erwähnt, dass tar nur ein Dateiformat für die Archivierung von Dateien ist. Kurz gesagt kann man mehrere Dateien in ein tar-Archiv packen, eine Komprimierung findet an dieser Stelle aber noch nicht statt. Der beinahe schon historische Hintergrund von tar ist die Erstellung von Tape Archives, so dass man einfach mehrere Dateien auf ein Bandlaufwerk kopieren konnte. Für die Komprimierung werden meistens gzip oder bzip2 verwendet, das erklärt dann auch die Dateiendungen:

  • foobar.tar.gz oder foobar.tgz: Mit gzip komprimiertes tar-Archiv
  • foobar.tar.bz2 oder foobar.tbz2: Mit bzip2 komprimiertes tar-Archiv

Die Ausgabe von 

tar --help
  ist sehr umfangreich, aber mit wenigen Parametern kommt man schon gut durch denn Alltag:
-c, --create               ein neues Archiv anlegen
  -t, --list                 den Inhalt eines Archivs auflisten
  -x, --extract, --get       Dateien aus einem Archiv extrahieren
  -f, --file=ARCHIV          Archivdatei oder Gerät ARCHIV benutzen
  -j, --bzip2                filter the archive through bzip2
  -z, --gzip, --gunzip, --ungzip   filter the archive through gzip
  -C, --directory=VERZEICHNIS   zu VERZEICHNIS wechseln
  -v, --verbose              bearbeitete Dateien ausführlich listen

Beispiel 1: Reines tar-Archiv erstellen

Möchte man mehrere Dateien in einer Datei ohne Komprimierung archivieren, verwendet man folgenden Befehl:

tar cf files.tar file1 file2 file3
# oder alternativ alle Dateien im aktuellen Verzeichnis:
tar cf files.tar *

Der Parameter c gibt an, dass eine tar-Archiv erstellt werden soll und f gibt den Zieldateinamen an.

Beispiel 2: Inhalt eines tar-Archivs anzeigen:

tar tf files.tar
# oder etwas ausführlicher:
tar tfv files.tar

Der Parameter t listet den Inhalt auf und f gibt den Dateinamen des tar-Archivs an. Mit dem Parameter v stellt man die etwas ausführlichere verbose Ausgabe an.

Beispiel 3: Ein reines tar-Archiv entpacken:

Das eben erstellte tar-Archiv lässt sich schnell und einfach wieder entpacken:

tar xf files.tar
# oder wieder etwas ausführlicher:
tar xfv files.tar

Beispiel 4: Ein komprimiertes tar-Archiv erstellen:

Sei es Gewohnheit oder die etwas schnellere Kompression, ich bevorzuge gzip komprimierte tar-Archive. Diese sind schnell erstellt:

# mit gzip Kompression:
tar czf files.tar.gz file1 file2 file3
# mit bzip2 Kompression:
tar cjf files.tar.bz2 file1 file2 file3

Beispiel 5: Ein komprimiertes tar-Archiv auflisten:

# mit gzip Kompression:
tar tzf files.tar.gz
# mit bzip2 Kompression:
tar tjf files.tar.bz2

So langsam dürfte sich der Sinn der Parameter erschließen. Anstelle des Parameters c in Beispiel 5 verwende ich nun den Parameter t, also auflisten anstelle von erstellen. Die Kompressionsparameter z und j sind entsprechend einzusetzen.

Beispiel 6: Ein komprimiertes tar-Archiv entpacken:

# mit gzip Kompression:
tar xzf files.tar.gz
# mit bzip2 Kompression:
tar xjf files.tar.bz2

Wieder wurde nur ein Parameter ausgetauscht. Anstelle von t für Auflisten verwende ich jetzt x für entpacken bzw. extrahieren.

Beispiel 7: Ein komprimiertes tar-Archiv in einen Zielordner entpacken:

Zusätzlich zum normalen Entpacken gibt man nun mit dem Parameter -C an, wohin der Inhalt entpackt werden soll.

# mit gzip Kompression:
tar xzf files.tar.gz -C /tmp
# mit bzip2 Kompression:
tar xjf files.tar.bz2 -C /tmp

Wenn ich mit tar-Archiven arbeite, reichen mir in über 90% der Fälle diese 7 Beispiele aus. Wenn man diese Parameter schon versteht und dieser Artikel einen langweilt, sollte man auch mal einen Blick auf die weiteren Möglichkeiten von tar werfen, so können z.B. Dateirechte übernommen werden, bestimmte Dateien vom Archiv ausgeschlossen werden oder die Ausgabe von tar kann über eine Pipe umgeleitet werden. Wer noch ein paar tar-Befehle für den Alltagsgebrauch parat hat, kann gerne einen Kommentar hinterlassen.

Persistente IPTables Regeln unter Debian/Ubuntu

Permalink Finns Blog

Was mit unter Fedora und CentOS unter anderen gefällt, ist die einfache Möglichkeit schon direkt nach der Installation IPTables Firewall Regeln persistent, also dauerhaft, einzutragen. Die Regeln befinden sich schlicht und einfach in einer Textdatei, die beim Starten des IPTables Dienstes geladen wird. Unter Ubuntu oder Debian habe ich diese Funktion manchmal vermisst, aber diese Funktion lässt sich schnell und vor allem sehr einfach nachrüsten.

Dafür installiert einfach das Paket iptables-persistent:

apt-get install iptables-persistent

Bei der Installation wird man gefragt, ob man die aktuellen IPTables Regeln (IPv4 und IPv6 separat) sichern möchte. In der Regel möchte man dies auch tun. Gespeichert werden die Regeln in 

/etc/iptables/rules.v4
  bzw
/etc/iptables/rules.v6
.

iptables-persistent

Eine sehr simple IPTables Konfiguration sieht z.B. so aus:

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
-A INPUT -p icmp -j ACCEPT 
-A INPUT -i lo -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 
-A INPUT -j REJECT --reject-with icmp-host-prohibited 
-A FORWARD -j REJECT --reject-with icmp-host-prohibited 
COMMIT

Diese Regeln erlauben eingehende TCP Verbindungen auf Port 22 (SSH) und Port 80 (HTTP), ICMP bzw. Ping ist ebenfalls erlaubt. Alle übrigen eingehenden Verbindungen werden abgewiesen. Ausgehende Verbindungen sind nicht konfiguriert und somit erlaubt.

IPTables wird nun über den Dienst iptables-persistent gesteuert, ein Neustart aktiviert die eben konfigurierten Regeln:

service iptables-persistent restart

Im Prinzip ist dies kein Hexenwerk, ein ähnliches Verhalten lässt sich mit einer Textdatei, welche mit 

iptables-restore
  geladen wird, ebenfalls bewerkstelligen. Ich finde diese Methode aber einfacher und ich bin es von CentOS eben gewohnt, IPTables über einen Dienst starten und stoppen zu können.

Ubuntu auf dem Chromebook: Ein Erfahrungsbericht

Permalink Fury's - Blog

Ich habe ja bereits in der Vergangenheit über meine Erfahrungen mit meinem Chromebook berichtet. Bei einem Chromebook handelt es sich im Grunde genommen um einen normalen Laptop, auf dem ChromeOS zum Einsatz kommt. Dabei ist (glücklicherweise) das Gerät nicht gesperrt, sodass man  nach Aktivierung eines speziellen Entwickler-Modus z. b. auch eine Eingabeaufforderung benutzen kann, um an de System Änderungen auszuführen.

So lässt sich beispielsweise mit Crouton ein Linux installieren, dass gleichzeitig mit ChromeOS läuft und sich die Ressourcen (und den Kernel)  mit ChromeOS teilt. Das funktioniert auch, wenn man vernachlässigt, dass die Ressourcen dabei schnell sehr knapp werden können. Chromebooks sind, wie ich erwähnt habe, ja “normale” Laptops, jedoch sind die Ressourcen recht begrenzt. So hat das klassische Chromebook eine SSD unter 20 GB und 2-4 GB Arbeitsspeicher. Komischerweise haben die Geräte für den europäischen Markt nahezu immer 2 GB RAM.

Aufgrund der Ressourcenknappheit habe ich mich einmal dazu entschlossen, ein Linux klassisch auf der SSD zu installieren. Hier mein Erfahrungsbericht zu diesem Experiment.

Vorweg, mein HP Chromebook 14 befindet sich im Entwicklermodus und erlaubt Legacy Boot, z. B. von Wechseldatenträgern oder externen Laufwerken. Ansonsten lässt sich kein anderes Betriebssystem starten. An der Hardware habe ich keinerlei Änderungen vorgenommen, um mir zu ermöglichen, wieder den Schritt zurück zu ChromeOS zu wagen.

Versuch #1 Manjaro 0.8.10

Ich habe als erstes Linux getestet, ob sich Manjaro installieren lässt. Leider scheint der Syslinux-Bootloader des Installationsmediums sich mit einem Hardwareparameter (ich nehme an, dass es der Arbeitsspeicher ist) nicht zu vertragen. Da man Syslinux schlecht debuggen kann und ich auch keinen Anhaltspunkt gefunden habe, woran das liegen könnte, habe ich Manjaro zunächst vertagt.

Versuch #2 Ubuntu 14.04

Im nächsten Versuch habe ich eine Ubuntu 14.04-DVD verwendet. Ich würde lieber ein Arch-System nutzen, aber wie bereits erwähnt bootet dies nicht :(

Die Installation lief problemlos, ohne Tricks lässt sich jedoch keine Parallelinstallation von ChromeOS und Ubuntu durchführen.  Ich möchte anmerken, dass dies bei 16 GB Platz auf der SSD auch wenig ratsam ist. Daher habe ich die Platte komplett für Ubuntu verwendet und ganz normal den Bootloader auf die SSD geschrieben. Das funktioniert auch einwandfrei.

Beim Starten des Chromebooks wird dieses aufgrund des aktivierten Entwicklermodus die Warnung über die fehlende Betriebssytemüberprüfung anzeigen. Auf diesem Bildschirm sollte man die Kombination STRG+L wählen, um das BIOS-Menü zu öffnen. Eine weitere Eingabe ist nicht notwendig! Vergisst man STRG+L zu wählen, so wird sich das gewohnte Piepsen bemerkbar machen und das Gerät wird meckern, dass ChromeOS (offensichtlich) fehlt oder beschädigt ist.

Konfiguration notwendig

Touchpad

Nach dem Start wird man – wie gewohnt – vom Loginbildschirm begrüßt. Da fällt schnell auf, dass das Touchpad nicht funktioniert. Man benötigt hierfür einen Fix, der hier oder hier bezogen werden kann.

Der Fix kann wie folgt installiert werden:

wget https://gist.githubusercontent.com/squarerootfury/149e1da5deec73df95f0/raw/bc8d675859615e026f1e3a32b4ee427105dab6fc/cros-haswell-modules.sh
chmod +x ./cros-haswell-modules.sh
sudo sh ./cros-haswell-modules.sh

Dieser Fix macht nichts anderes, als Patches, die eingereicht wurden und den Linux-Kernel um notwendige Chromebook-Treiber zu ergänzen, zu kompilieren und zu nutzen. Wem das zu kritisch ist, kann sich temporär mit einer Maus behelfen und auf Linux 3.17 warten. In dieser Kernelversion sollen die Chromebook-Patches eingepflegt werden, eine händische Fehlerbehebung wird dann nicht mehr notwendig sein. Wenn Du ein Update des Betriebssytems installierst kann es passieren, dass dein Touchpad nicht mehr funktioniert. Das liegt daran, dass die Veränderungen des Skripts für einen neuen Linux-Kernel fehlen. Hier einfach das Skript erneut ausführen und neu starten.

Nach Ausführung des Fixes sollte man nun noch eine Konfiguration vornehmen, da sonst die Empfindlichkeit des Touchpads viel zu gering ist.

sudo nano /usr/share/xorg.conf.d/50-cros-touchpad.conf

In diese neu erstellte Datei sollte man den auf https://wiki.archlinux.org/index.php/HP_Chromebook_14#Touchpad_Configuration dargestellten Inhalt einfügen. Nach einem Neustart funktioniert das Touchpad auch.

Standby

Auch der Standby lässt sich mit etwas Konfiguration zum Funktionieren bewegen. Auf dieser Seite einfach die Punkte des Abschnitts “Solve Issues with suspend” befolgen. Nach einem Neustart funktioniert nun auch der Standby.

Tastaturlayout

Per Standard sind die oberen Tasten als Sondertasten belegt. Ergo hat man keine F-Tasten. Wenn man in das TTY-Terminal wechseln will, muss man das Tastaturlayout bearbeiten!

Hardware funktioniert überraschend gut

Überraschenderweise funktioniert ein Großteil der Hardware ohne Probleme, wenn man die notwendigen Fehlerbehebungen für das Touchpad ausklammert.

Was funktioniert:

  • Sondertasten (Lauter, Leiser, Bildschirmhelligkeit hoch, Bildschirmhelligkeit runter)
  • Webcam (ohne jegliche Anpassung!)
  • Mikro
  • Soundausgabe
  • Bluetooth
  • USB
  • Standby (Nach Konfiguration)
  • Touchpad (Nach Konfiguration)
  • SD-Kartenleser
  • ..eigentlich alles

Ressourcen beachten!

An für sich läuft Ubuntu auf dem Chromebook recht stabil. Bei Unity zeigte sich ein Bug, bei dem das HUD den Tastatur- und Mausfokus nicht erhalten hat. Somit ist die Oberfläche an für sich recht nutzlos gewesen. Daher habe ich anschließend GNOME getestet, der jedoch für meine Verhältnisse einfach zu viel Arbeitsspeicher in Anspruch nimmt. Daher habe ich aktuell MATE in Verwendung, dass deutlich wengier Arbeitsspeicher verbraucht. Man muss immer beachten, dass das Chromebook wenig RAM hat.

Überraschenderweise laufen sogar Effekte von GNOME 3 oder Unity ohne wirkliche Ruckler. Man sollte es sich jedoch zwei mal überlegen, ob  man nicht eine leichtgewichtigere Oberfläche nimmt. Ein Vergleich:

  • GNOME 3 – 1,1 GB vebraucht (im Leerlauf)
  • MATE – ~400 MB vebraucht (im Leerlauf)

Der Festplattenspeicher ist recht beengt. Man kann natürlich eine neue SSD einbauen, aber man kann auch eine SD-Karte nutzen. Ich persönlich empfehle, möglichst nicht hardwaretechnisch am Chromebook Hand anzulegen. Handelt man ungeschickt, macht man sich das Chromebook kaputt.

Akkulaufzeit niedriger als normal

Es zeigte sich, dass sich die Akkulaufzeit verschlechtert, wenn man auf dem Chromebook Ubuntu verwendet. Je nach Verwendungszweck und der verwendeten Oberfläche ist die Akkulaufzeit unterschiedlich. Bei GNOME 3 hatte das Chromebook eine Akkulaufzeit von 4 h, was mMn zu wenig ist.

Mit MATE habe ich hochgerechnet eine Akkulaufzeit von ~ 6h, ein Praxistest steht noch aus.

Temperatur leicht höher als unter ChromeOS

Die Temperatur pendelt sich meist bei rund 44 °C ein.

Fazit – Was bringts?

Die Installation von Ubuntu macht nur dann Sinn, wenn man das Chromebook als günstigen Linux-Laptop ansieht und für ein voll nutzbares Linux alle Ressourcen des Systems nutzen möchte. Alle diejenigen, die mit ChromeOS auch klarkommen, sollten hingegen Crouton benutzen. Wem die Speicherkapazität der SSD zu gering ist, kann auch eine größere SSD einbauen. Das erfordert aber ein größeres handwerkliches Talent, außerdem kann man damit das Chromebook schrotten. Ansonsten kann man auch eine SD-Karte einsetzen, da das Chromebook ja einen SD-Kartenleser besitzt.

Für jemanden, der z. B. wie ich nahezu nur einen Browser, Texteditor und ein funktionsfähiges Linux benötigt ist das Chromebook mit Ubuntu durchaus eine Idee. Aber man sollte sich im klaren sein, dass man auch mit den begrenzten Ressourcen haushalten muss, die sonst schnell zur Neige gehen. Daher lautet meine Empfehlung: Unity, GNOME und KDE nicht nutzen, dafür auf XFCE, LXDE, MATE, E17, OpenBox, FluxBox, IceWM und Co. setzen. Das spart Ressourcen und verlängert die Akkulaufzeit. Übrigens: Für ein kleines Spiel, z. B. LIMBO oder Reus reicht die Hardware aus, obwohl sich der CPU-Lüfter lautstark bemerkbar macht.

Dies ist ein Erfahrungsbericht. Ich habe meine Erfahrungen mit diesem Thema hier abgebildet. Toll wenn ich Dir damit helfen konnte. Ich kann natürlich nicht garantieren, dass dies zu 100 % überall funktioniert. Befolgen der Schritte auf eigene Gefahr!

Ubuntu-Logo: http://design.ubuntu.com/downloads?metadata=element-logo+brand-ubuntu

Auf Shellshock testen

Permalink Invictus deus ex machina

Möchte man Testen ob man vom Shellshock-Fehler betroffen ist, gibt man auf der Konsole folgendes ein:

env x="() { :;} ; echo Anfällig für Shellshock" /bin/sh -c "echo Shellshock-Test"

Wenn man betroffen ist gibt diese Kommandozeile:

Anfällig für Shellshock
Shellshock-Test

aus. Ist man nicht betroffen erhält man folgende Ausgabe:

Shellshock-Test

Versuche Shellshock von Außen zu nutzen kann man feststellen indem man seine Logdateien nach diesem Beispiel:

cat logfile.log | grep };

abgrast. Bei einem Webserver Log könnte das ganze dann z.B. so aussehen:

192.168.1.15 - - [27/Sep/2014:19:32:19 +0200] "GET / HTTP/1.1" 200 18804 "-" "() { foo;};echo;/bin/cat /etc/passwd"

Alternativ kann man ein Skript nutzen, welches von einem Golem Autor erstellt wurde. Der Quelltext für das Skript ist dabei auf GitHub zu finden.

27. September 2014

OpenBSD httpd

Permalink noqqe.de

Reyk Floeter hat zuletzt begonnen seinen relayd zu forken und einen minimalistischen Webserver daraus zu bauen. Langfristig soll httpd in OpenBSD den erst kürzlich in Base gewanderten nginx ersetzen.

Die Hintergründe dazu kann man gut im BSDNOW Podcast 053 nachhören. Zuerst denkt man so “Was? Noch ein HTTP Daemon?”. Zusammengefasst soll der neue httpd aber genau das werden (und vor allem bleiben) wie nginx angefangen hat. Plain, Free, minimalistisch, einfach. So wurden auch schon mehrere Diffs/Features vom Entwickler abgelehnt.

Konfiguration OpenBSD gemäß sehr straight forward. pf/relayd like. Hab mir nen 5.6 Snapshot vom Mirror meiner Wahl besorgt und das Teil mal ausprobiert.

Nach etwas herumprobieren: grinsen. Comic Sans in den default Error Messages.

Bin mir nicht sicher ob das so bleibt. Die Config Parameter sind wie bei OpenBSD Software zu erwarten gut dokumentiert und eingängig.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
prefork 5

server "default" {
        listen on em0 port 80
        log syslog
        log access default-access.log
        directory auto index
        connection timeout 30
        connection max requests 120
}

server "httpd1.noqqe.de" {
        listen on 192.168.1.14 port 80
        root "/htdocs/httpd1/"
        log syslog
        directory auto index
}

server "httpd2.noqqe.de" {
        listen on 192.168.1.14 port 80
        root "/htdocs/httpd2/"
        log syslog
        directory auto index
        connection timeout 3600
}

Noch ist das gute Stück nicht Feautre-Complete bzw. Production-Ready. Dinge die noch fehlen, aber kommen werden ist zum Beispiel Basic HTTP Auth. SSL und ein bisschen mit beeswithmachineguns Performance austesten hab ich bisher noch nicht gemacht. curlfor-loop mit time zum Ausprobieren kann man kaum Performance Test nennen ;) Demnächst dann vielleicht.

httpd wird er ab 5.6 in Base mit nginx koexistieren. Portable Version ist ebenfalls geplant. Freu mich drauf.

Überwachungskamera mit Linux und Motion

Permalink Finns Blog

Mit einem Linux Server und einer USB Webcam lässt sich relativ einfach eine Überwachungskamera mit Bewegungsmelder bauen. Die zum Einsatz kommende Software nennt sich Motion und aus Gründen des geringen Stromverbrauchs kommt bei mir ein RaspberryPi zum Einsatz.

Ich habe Motion auch bereits erfolgreich unter Fedora installiert und getestet, langfristig soll es aber nur auf einem RaspberryPi laufen. Wie bei vielen anderen auch, läuft auf meinem RaspberryPi ein Debian. Die Installation und vor allem die recht umfangreiche Konfiguration ist auf der Motion Webseite gut beschrieben, zusammengefasst habe ich folgende Schritte durchgeführt:

Testen, ob die Kamera erkannt wird

lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 004: ID 0424:9514 Standard Microsystems Corp. 
Bus 001 Device 005: ID 0424:ec00 Standard Microsystems Corp. 
Bus 001 Device 006: ID 046d:0807 Logitech, Inc. Webcam B500

In verwende eine Logitech B500 Webcam, die angeblich auch ohne aktiven USB Hub laufen soll. Probiert habe ich es nicht, da ich eh einen aktiven Hub verwende.

Motion installieren

Als nächstes kann Motion installiert werden:

apt-get install motion

In der Regel möchte man, dass Motion beim Systemstart gestartet wird:

update-rc.d motion defaults

Bei mir wurde zwar der Benutzer motion angelegt, das angegebene Home-Verzeichnis hat aber gefehlt. Da ich es als Ausgabeverzeichnis für die erstellten Bilder verwenden wollte, habe ich es kurzerhand selbst erstellt:

mkdir /home/motion
chown motion /home/motion
chmod 755 /home/motion

Bevor man Motion als Daemon starten kann, muss der entsprechende Parameter in der 

/etc/defaults/motion
  noch auf 
yes
  gesetzt werden:
# set to 'yes' to enable the motion daemon
start_motion_daemon=yes

Motion konfigurieren

Die Konfigurationsmöglichkeiten sind recht umfangreich, grob gesagt habe ich mir folgendes Ergebnis gewünscht:

  • Keine Videos, sondern nur JPEGs (2 pro Sekunde reichen mir)
  • Ausgabeverzeichnis soll /home/motion sein
  • Auflösung von 960×720
  • Der Webcam Stream soll im Netzwerk erreichbar sein
  • Motion soll die Helligkeit regeln

Jeder wird die /etc/motion/motion.conf seinen individuellen Bedürfnissen anpassen müssen, für mich waren folgende Parameter relevant:

daemon on
videodevice /dev/video0 # Korrigieren, falls abweichend
v4l2_palette 6 # In meinem Fall beste Ergebnisse mit der YUYV Farbpalette
width 960
height 720
framerate 2
auto_brightness on
threshold 1500 # Bewegungserkennung wird aktiv, wenn 1500 Pixel sich geändert haben, den Wert werde ich noch ein wenig erhöhen müssen
ffmpeg_cap_new off # Ich möchte keine Videos
target_dir /home/motion # Das Ausgabeverzeichnis
jpeg_filename %Y%m%d%H%M%S-%q-%v # Den Dateinamen habe ich zwecks besserer Sortierbarkeit angepasst
webcam_localhost off # Stream ist somit auch über das Netzwerk erreichbar

Nach einem Neustart von Motion sollte man einen Blick in die /var/log/messages werfen, um zu überprüfen, ob die gewünschte Auflösung und Farbpalette von der Kamera unterstützt werden. Sollte Motion beim Erkennen von Bewegungen Fehler ausgeben und keine Bilder speichern, liegt das meistens daran, dass der Motion User keine Schreibrechte im Ausgabeverzeichnis hat.

Feinschliff

Im Moment betreibe ich noch eine zweite Kamera mit Motion an meinem Desktop Rechner. Bei Gelegenheit werde ich die Kamera auch an dem RaspberryPi anschließen und die Konfiguration entsprechend in mehreren Dateien vornehmen. Um eine praktische Übersicht über die beiden Streams zu erhalten, habe ich eine kleine HTML Seite gebastelt:

<html>
<head>
<title>Motion Webcams</title>
<style type="text/css">
@media screen and (orientation:portrait) {
	.cam {
		height: 49%;
		width: auto;
		border: 1px solid grey;
	}
}
@media screen and (orientation:landscape) {
	.cam {
		height: auto;
		width: 49%;
		border: 1px solid grey;
	}
}
</style>
</head>
<body bgcolor="000000">
<img src="http://192.168.1.2:8081" class="cam"/>
<img src="http://192.168.3.2:8081" class="cam"/>
</html>

Die Seite ist nicht perfekt, aber simpel und sie erfüllt ihren Zweck. Damit kann ich im internen Netzwerk beide Kameras im Auge behalten. Eventuell baue ich noch einen Apache Proxy ein, so dass ich auch alle Kameras über das Internet im Auge behalten kann.

UPDATE:

Eine kleine Ergänzung habe ich noch. Um die Bilder von meinem RaspberryPi auf meinen Desktop Rechner zu bekommen, nutze ich einen rsync cronjob auf dem Desktop:

* * * * * /usr/bin/rsync -rt --delete finn@raspberrypi:/home/motion/ /home/finn/Bilder/Motion/RaspberryPi/

Da ich die Bilder aber nicht ewig behalten möchte, lösche ich Bilder, die älter als 7 Tage sind. Dies geschieht mit folgendem cronjob auf dem RaspberryPi:

0 0 * * * find /home/motion -ctime +7 -exec rm {} \;

 

26. September 2014

Firefox 33 bekommt Privatsphäre-Button

Permalink Sören Hentzschel

Der November soll bei Mozilla im Zeichen der Privatsphäre stehen. In diesem Zusammenhang wird Firefox 33 mit einem neuen Privatsphäre-Feature erscheinen, welches das schnelle Vergessen aktueller persönlicher Daten erlaubt.

Im November sind es zehn Jahre seit dem Erscheinen von Firefox 1.0. Da Mozilla die Privatsphäre der Nutzer ein großes Anliegen ist, wird man dies zum Thema im Geburtstagsmonat machen. Der Button, der von Mozilla intern mal Privatsphäre-Button, mal Panik-Button und mal Vergessen-Button genannt wird, verfolgt ein einfaches Ziel: Firefox schnell aktuelle persönliche Daten vergessen zu lassen. Dies umfasst die Chronik und Cookies sowie das Schließen aller offenen Tabs und Fenster und das Öffnen einer neuen leeren Seite. Dabei kann der Nutzer noch auswählen, ob er die Daten der letzten fünf Minuten, der letzten zwei Stunden oder der letzten 24 Stunden löschen lassen möchte.

Mozilla wird den Privatsphäre-Button im Rahmen eines Updates auf Firefox 33.0.1 ausliefern. Unabhängig davon haben Firefox-Nutzer verschiedene Möglichkeiten, Firefox persönliche Daten vergessen zu lassen: Persönliche Daten können über das Chronik-Menü manuell in einem ausgewählten Zeitraum oder komplett gelöscht werden, automatisch bei Beenden von Firefox oder man nutzt den Privaten Modus, in welchem sich Firefox gar nicht erst private Daten merkt.

Auch das Android-Team arbeitet am Thema Privatsphäre im Rahmen einer N2R: November-to-Remember-Kampagne. Hier angedacht sind Add-on-Empfehlungen mit Fokus auf Privatsphäre und ein Add-on, welches unter anderem optionale, aber standardmäßig aktivierte Datenübertragung in Mozillas Android-Browser deaktiviert, oder den Nutzer warnt, wenn er eine Suchabfrage über eine nicht verschlüsselte Verbindung tätigt.

Sicherheitslücken in Bash und APT

Permalink deesaster.org

Sicherheitslücken gibt es immer wieder einmal in Betriebssystemen. Diese und letzte Woche wurden aber zwei sehr gravierende Mängel in der Bash und im Paketmanagementsystem APT gefunden.

ShellShock: Sicherheitslücke in der Bash

Es ist gerade einmal drei Monate her, dass ein kritischer Programmierfehler in der OpenSSL-Bibliothek zur Verschlüsselung von Verbindungen für Aufsehen sorgte. Heartbleed sorgte dafür, dass zahlreiche Server aktualisiert werden und Benutzer ihre Passwörter ändern mussten. Jetzt gibt es mit ShellShock eine neue Sicherheitslücke, diesmal in der Bash, die ähnlich schwerwiegend ist.

Hintergrund des Problem ist, dass es möglich ist, über Umgebungsvariablen beliebigen Code bei der Ausführung einer neuen Shell-Instanz ausführen zu lassen. Wie gezeigt wurde, sind damit vor allem Webserver, die noch CGI nutzen, leicht angreifbar. Die meisten Linux-Distributoren haben die Lücke bereits behoben, sie scheint aber noch nicht gänzlich zu wirken.

Ob das eigene System noch betroffen ist, kann man mittels

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

im Terminal prüfen. Ist das Ergebnis vulnerable, so ist man verwundbar. In dem Fall sollte man schnellsten die vom Distributor bereitgestellten Updates installieren. Bei einem gepatchten System erscheint

bash: Warnung: x: ignoring function definition attempt

bash: Fehler beim Importieren der Funktionsdefinition für »x«.

this is a test

Quellen

Pufferüberlauf in APT

APT (Advanced Packaging Tool) ist das Paketmanagementsystem unter Debian, Ubuntu und deren Derivate. Diese Woche wurde von Googles Sicherheitsteam ein Fehler in der Paketverwaltung gefunden, der es ermöglicht, Schadcode auszuführen.

Als Angriffsszenario wird ein Man-in-the-middle-Angriff genannt, bei dem der Angreifer manipulierte Pakete einschleust und so einen Pufferüberlauf erzeugt. Hiermit ist es dann möglich, beliebigen Schadcode auszuführen. Problematisch ist dies auch deswegen, da APT in der Regel mit Root-Rechten läuft und vollen Zugriff auf das System hat.

Debian und Ubuntu haben bereits Updates bereitgestellt, die man baldmöglichst installieren sollte. Hierbei sollte man am besten darauf achten, die Pakete aus einer vertrauenswürdigen Quelle bzw. einem vertrauenswürdigem Netzwerk zu beziehen.

Letzte Woche wurde bereits ein Lücke bei den Signaturen in APT behoben.

Quellen

Gnome Shell Extensions: Meine Favoriten

Permalink thomas-leister.de

Eine oft vergessene oder vernachlässigte Funktion der Gnome-Shell ist ihre gute Erweiterbarkeit durch sog. Gnome Shell Extensions. Die meisten Erweiterungen könnt ihr direkt über den entsprechenden „Store” auf der Gnome Website bekommen. Hier ist eine Auswahl meiner favorisierten Erweiterungen:

OpenWeather

Die OpenWeather Erweiterung stellt das aktuelle Wetter im Panel dar. Nach einem Mausklick auf die aktuelle Wetterlage erscheinen mehr Details und eine Vorhersage. Die Daten werden von OpenWeatherMap.org bezogen, einer großartigen Alternative zu herkömmlichen Wetterdiensten.

OpenWeather Map Extension

OpenWeather Map Extension

Imgur Screenshot Uploader

Der Imgur Uploader integriert sich in Form eines kleinen „I”-Symbols in das Panel. Im Menü befinden sich die drei Screenshot-Modi „Select Area”, „Select Window” und „Select Desktop”. Direkt nach dem Auswählen des gewünschten Modis wird ein Screenshot erstellt und sofort auf imgur.com hochgeladen. Im Gegenzug erhält der Benutzer die URL zur Bilddatei.

Ein extrem praktisches Tool, wenn man häufiger Screenshots verschickt.

Autohide Battery

Diese Erweiterung blendet das Akku-Symbol im Panel aus, sobald der Netzstecker angeschlossen ist und der Akku voll geladen ist. Auf diese Weise wird wieder Platz im Panel frei, sobald der Akkustand nicht mehr interessant ist.

Battery Status

Battery Status erweitert die Akkuanzeige im Panel um die verbleibende Akkulaufzeit oder den Ladezustand in Prozent. So erspart man sich das ständige Öffnen des Panel Hauptmenüs, um den Akkustand zu kontrollieren.

Dash to Dock

Dash to Dock lässt die Seitenleiste in der Gnome Fensterübersicht („Dash”) zu einem Dock werden. Nutzer, die den Wechsel in die Fensterübersicht umständlich finden, werden diese Erweiterung zu schätzen wissen. Das Dock kann favorisierte Anwendungen aufnehmen, aber auch aktuell laufende Programme beherbergen. Der Wechsel in ein anderes Fenster wird um einen Klick / Druck verkürzt und das gewünsche Programm kann direkt angewählt werden – wie in alten Zeiten … ;)

Natürlich gibt es auch eine intelligente Autohide-Funktion, sodass nicht unnötig Platz auf dem sonst so aufgeräumten Gnome Desktop verschenkt wird.

Freon

Freon ist für alle, die die Temperatur ihrer Hardware im Blick behalten wollen. Die Gnome-Erweiterung zeigt die Messwerte sämtlicher Temperatursensoren an. Als Quelle für den im Panel angezeigten Wert kann der Durchschnittswert oder der Maximalwert der gemessenen Temperaturen gewählt werden.

Hibernate Status Button

Wer auf seinem Linux Computer die Hibernate (Suspend to disk) Funktion nutzt, wird sich über diese einfache Erweiterung freuen. Sie integriert einen Hibernate-Button in das Menü, in dem sich auch die Buttons zum Sperren oder Herunterfahren des Rechners befinden. Wenn die ALT-Taste gedrückt wird, verändert der Button seine Funktion, sodass dann nicht nur die Hibernate-Funktion genutzt wird, sondern gleichzeitig auch die Suspend-Funktion (=> „Hybrid Sleep”). Wie ihr die Hibernate-Funktion unter Arch Linux aktiviert, erfahrt ihr übrigens in diesem Beitrag.

Impatience

Wer es am Rechner allgemein etwas eiliger hat und keine Zeit für viele Animationen mitbringt, wird um Impatience froh sein. Die Erweiterung macht nichts anderes, als die Animationsgeschwindigkeit in der Gnome-Umgebung zu erhöhen. Das System wirkt dadurch deutlich flotter.

Panel OSD

Mit Panel OSD kann die Benachrichtigungsanzeige, die unten am Bildschirm eingeblendet wird, konfiguriert werden. So kann beispielsweise die Position bestimmt werden oder die Benachrichtigungen oben statt unten angezeigt werden.

Top Panel Workspace Scroll

Die Arbeitsfläche wird in Gnome über die Fensterübersicht oder die Tastenkombination STRG+ALT+[Pfeiltaste] gewechselt. „Top Panel Workspace Scroll” sorgt dafür, dass die Arbeitsfläche nun auch durch Scrollen auf dem Panel gewechselt werden kann.

Topicons

Topicons verschiebt die Icons aus dem versteckten Benachrichtigungsbereich in das Panel. Ein häufiger Kritikpunkt an der Gnome Desktopumgebung ist, dass man die Icons der Hintergrundanwendungen, wie z.B. dem OwnCloud Sync Client nicht im Blick hat. Die Erweiterung verfrachtet diese Symbole wieder dahin, wo sie meiner Meinung nach hingehören: In das Sichtfeld des Nutzers.

Redshift

Redshift ist eine Anwendung, die das Display je nach Tageszeit unterschiedlich einfärbt. Abends werden durch einen erhöhten Rot-Anteil die Augen geschont. Da die blauen Lichtanteile in der Displaybeleuchtung die Melatonin-Bildung ausbremsen, wird empfohlen, den Blau-Anteil Abends zu reduzieren, um besser schlafen zu können. (Siehe auch hier.) Redshift übernimmt diese Farbregulierung vollautomatisch.

Je nach Tätigkeit (z.B. bei der Bildbearbeitung) muss Redshift jedoch ausgeschaltet werden, um die Farben nicht zu verfälschen. Für eine einfachere Steuerung von Redshift gibt es eine Erweiterung für die Gnome Shell. In das Benutzermenü wird ein Ein-/Ausschalter für Redshift integriert.

Window List

Window List zeigt am unteren Bildschirmrand eine traditionelle Fensterleiste an. Ideal für alle, die sich nach Gnome 2 zurücksehnen … ;)

 

Welche Gnome Shell Erweiterungen könnt ihr empfehlen? Lasst es mich in den Kommentaren wissen!

25. September 2014

ShellShock – Sicherheitsproblem bei der Unix-Shell $(bash)

Permalink SUCKUP.de: IT-Blog

Alle alten Version der Unix-Shell “bash” enthalten eine kritische Sicherheitslücke (CVE-2014-6271), so dass man Befehle z.B. über CGI-Skripte oder via DHCP ausführen kann.  Ggf. benötigt nun dein Handy (z.B. CyanogenMod), dein Router oder deinen Mac / Linux / BSD und so weiter Software-Updates.

Teste dein System:

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

vulnerable
this is a test

Nachdem man die aktuellen Updates eingespielt hat (z.B. via aptitude) dann sollte die Ausgabe folgendermaßen aussehen.

env x='() { :;}; echo vulnerable' bash -c "echo this is a test"

bash: warning: x: ignoring function definition attempt bash: error importing function definition for `x’ this is a test

Technische Erklärung:

(http://seclists.org/oss-sec/2014/q3/650)
Das Problem ist, dass das man zwischen unterschiedlichen Bash-Instanzen Variablen und Funktionen teilen kann.

export foo='() { echo "bar" ; }'
bash -c 'foo'

Jede neue Bash-Instanz wird nun beim Start die Funktion “foo”  registrieren, so dass man diese Ausführen kann. Wenn man nun jedoch eine Funktion exportiert, führt die Bash den nächsten Befehl ebenfalls aus, da der String der “() {” nicht korrekt geparst wird. Damit können wir nun Befehle ausführen, indem wir bestimmte Strings (Funktionsdefinitionen) an z.B. ein CGI-Skript übergeben.

Links:

http://www.heise.de/newsticker/meldung/Bash-Luecke-ShellShock-ist-noch-nicht-ausgestanden-2403607.html

http://www.heise.de/newsticker/meldung/ShellShock-Standard-Unix-Shell-Bash-erlaubt-das-Ausfuehren-von-Schadcode-2403305.html

http://ftp.gnu.org/pub/gnu/bash/bash-4.3-patches/bash43-025

 

WebMUM – Web Mailserver User Manager veröffentlicht

Permalink thomas-leister.de

Hallo @alle (und ganz speziell jene, die ihre eigenen Mailserver betreiben… ;) )

Einige User haben in den Kommentaren zu meiner Mailserver-Anleitung nach einer einfacheren Benutzerverwaltung gefragt. Weil auch mir die unkomfortable Verwaltung über PHPMyAdmin zu lästig geworden ist, habe ich nun eine eigene PHP-basierte Weboberfläche entwickelt und stelle diese unter einer freien Lizenz (GNU-GPL 3.0) zur Verfügung.

Über die Oberfläche können sich sowohl Mailbox-Besitzer als auch der Administrator einloggen. Während der Administrator neue Benutzer, Domains und Weiterleitungen erstellen, bearbeiten und löschen kann, haben die Mailbox-Inhaber die Möglichkeit, ihr Passwort selbst zu ändern.

WebMUM

WebMUM

Eine Demo-Seite habe ich unter https://webmumdemo.trashserver.net aufgesetzt (Benutzername: „admin@domain.tld” Passwort: „webmumpassword”). In der Demo ist übrigens das Löschen der Domain „domain.tld”, der Mailbox „admin@domain.tld” und das Ändern des Admin-Users nicht möglich. Wenn ihr neue User erstellt, könnt ihr das aber auch testen.

Den Code und eine Anleitung zum Setup findet ihr auf GitHub. Vorausgesetzt wird nur ein Webserver mit PHP und MySQL Datenbankanbindung. Eine Anleitung zur Installation und Konfiguration findet ihr im README auf GitHub.

Solltet ihr Sicherheitsprobleme entdecken oder andere Bugs, dürft ihr gerne ein Ticket auf GitHub erstellen, in dem ihr das Problem beschreibt. Ich werde dann möglichst schnell darauf reagieren.

Raspitux nun auf Ubuntuusers.de Planet

Permalink raspitux

Hallo liebe Mitglieder von Ubuntuusers.de,

ich habe die ‘Aufnahmeprozedur’ bei Ubuntuusers.de bestanden und mein Blog Raspitux wurde im Planet aufgenommen. Ich habe dieses Blog vor einigen Monaten aufgebaut, da ich seit einiger Zeit Linux als mein präferiertes Betriebssystem nutze und Neulingen sowie interessierten Linux-Amateuren ein paar nützliche Tipps und Anleitungen mit auf den Weg geben möchte. Inhaltlich möchte ich mich auf Linux im Allgemeinen und Ubuntu im Speziellen, Android, Raspberry Pi und Sicherheitsthemen beschränken. Daher hoffe ich, dass ab und zu dennoch für erfahrene User immer etwas Neues dabei ist.
Neue Beiträge möchte ich in regelmäßigen Abständen schreiben. Die Anzahl der Beiträge ist leider abhängig von Freizeit und Schreibstoff :-)

Fürs Erste möchte ich diese Vorstellung beenden und freue mich auf zahlreiche Kommentare, bzw. auch Wünsche/Kritik usw.

In diesem Sinne,
Viele Grüße
Julian

Bericht: Herbsttagung DANTE e.V. 2014 in Karlsruhe

Permalink deesaster.org

Jedes halbe Jahr trifft sich die Deutschsprachige Anwendervereinigung TeX e.V. (kurz DANTE), um die Mitgliederversammlung abzuhalten und dabei gleichzeitig auch noch interessante Vorträge rund um das Thema TeX anzubieten. Dieses Jahr fand die Herbsttagung in Karlsruhe statt.

Vorabendtreff

Bevor es zum vergnüglichen Teil ging, traf sich der Vorstand des Dante e.V. zur halbjährlichen Sitzung. Da ich das erste Mal als Beisitzer den Diskussionen beiwohnen konnte, war es sehr interessant, etwas mehr Einblick in die internen Vorgänge und Abläufe zu erhalten. Vor allem einige kontroverse Themen wurden sehr hitzig und spannend diskutiert.

Nach dreieinhalb Stunden waren die Getränke alle und wir erschöpft, sodass wir uns nach einer kurzen Pause gemeinsam zum Abendtreff aufmachen konnten. Im Vogelbräu in der Südstadt trafen sich ca. 25 Teilnehmer der Tagung, was auf eine rege Teilnahme am Folgetag hoffen ließ.

Sehr schön war, dass man viele neue und vor allem junge Gesichter sehen konnte, die sich dann hoffentlich auch aktiv bei DANTE e.V. einbringen werden, sodass die älteren Semester irgendwann einmal in den verdienten Ruhestand gehen und das Zepter an eine neue Generation übergeben können.

Tagungstag

Nach einer kleiner Jogging-Runde durch den Zoo bzw. am Zoo vorbei und einem ausgiebigen Frühstück machten wir uns als kleine Gruppe vom Hotel zur Tagungsstätte auf. Kurz nach 9 Uhr konnte der Vorsitzende des DANTE e.V., Martin Sievers, die ca. 30 Zuhörer im Architekturgebäude des Karlsruhe Institut für Technologie (KIT) begrüßen.

Danach hielt Prof. Dr. Lohner vom Steinbuch Centre for Computing (SCC) das Grußwort und stellte die Universität und vor allem das SCC und dessen Aufgaben ausführlich vor. Die Menge an Daten, die verarbeitet werden, bzw. die vorgehaltene Rechnerleistung war dabei sehr beeindruckend.

Nach der kurzen Ansprache eröffnete Martin Sievers den offiziellen Teil der Tagung mit der 51. Mitgliederversammlung. Von den Mitgliedern wurden verschiedene Eindrücke vergangener Tagungen geteilt und auch auf zukünftige TeX-Tagungen aufmerksam gemacht. An dieser Stelle sei vor allem auf die kommende Frühjahrstagung des DANTE e.V. im wunderschönen Stralsund an der Ostsee hingewiesen, die Mitte April 2015 stattfindet. Daneben wurden auch die abgeschlossenen und laufenden Projekte vorgestellt. Genauere Details kann man der aktuellen DTK entnehmen.

Den ersten Vortrag des Tages hielt Markus Kohm zum Thema „Tipps und Tricks mit KOMA-Script“. Er stellte in dem sehr interessanten Vortrag das Paket scrlayer zum Definieren von Ebenen vor, auf denen man beispielsweise Logos, Versionsinformationen oder Ähnliches im Dokument auf allen oder manchen Seiten anzeigen lassen kann. Daneben beschrieb er noch, wie man mithilfe von \addchaptertocentry eigens definierte Kapitelbeschreibungen vor dem Inhaltsverzeichnis definieren kann.

Danach unterhielt Heiner Richter vom Centrum für bessere Übergänge und Studienbedingungen (kurz CÜS) der Fachhochschule Stralsund die Zuhörer und zeigte einmal, wie das Bild auf der reinen Anwenderseite von TeX aussieht. Sein Wunsch war es, zwei getrennte Texte vertikal parallel zueinander setzen zu können. Daneben standen auch noch doppelseitige Bilder, farbige Informationsboxen und QR-Codes auf seiner Wunschliste. Bei allen Probleme probierte er viel aus und fragte die Profis, wenn er nicht weiter wusste. Seine Ausführungen zeigten, dass man mit etwas Durchhaltevermögen, Neugier und – wie er es nannte – Frechheit auch als normaler Anwender schwierigere Probleme mit TeX lösen kann.

Das schöne Wetter in Karlsruhe am Samstag lud vor und nach dem Mittagessen zu einem kleinen Spaziergang am Schloss entlang ein. Danach zeigte Uwe Ziegenhagen auf unterhaltsame Weise, welche neuen oder interessanten Pakete es auf CTAN gibt, die für die Allgemeinheit ggf. interessant sein könnten. Darunter war dann auch das ctable-Paket für den Satz von Tabellen, das bereits in der DTK 1/2014 („Explizite Positionierung in LaTeX“) erwähnte Paketgrid-system zum Setzen von mehrspaltigen Textblöcken oder die Erstellung von Flussdiagrammen mit flowchart. Solche Diagramme kann man auch mit Graphviz über das Paket gaphviz direkt aus LaTeX heraus erzeugen.

Gleich danach stellte Herbert Voss ConTeXt vor, wobei er sich vor allem auf die lokale Installation außerhalb von TeX Live bezog und zeigte, wie dies prinzipiell möglich ist. Das gestartete ConTeXt-Buch von Herbert Voss wird es nach seinen Aussagen erst einmal nicht geben, weil die ConTeXt-Entwicklung noch sehr aktiv betrieben wird und so nach drei Monaten die im Buch verwendeten Beispiele nicht mehr korrekt durchlaufen.

Nach einer kurzen Pause, in der die Tagungsteilnehmer von den Veranstaltern sehr großzügig mit diversen Kuchen eingedeckt wurden – die das Abendessen schon fast hinfällig machten – stellte Benjamin Berg das Open-Source-Projekt SDAPS vor. Es handelt sich dabei um ein Optical Mark Recognition Programm (OMR), welches u.a. mit der Hilfe von LaTeX und der eigens definierten Dokumentenklasse sdaps ein Umfrageformular erstellt, welches nach dem Ausdrucken, manuellen Ausfüllen und Einscannen die angekreuzten Antworten erkennt und auswertet. Die Möglichkeiten, die SDAPS bietet und die von Benjamin Berg live vorgeführt wurden, sahen sehr interessant aus.

Zum Abschluss grub Wolfram Schwenzer etwas in der Historienkiste von TeX und holte die Programmiersprache WEB heraus, die 1983 von Donald Knuth entwickelt wurde. Die Nachfrage beim Publikum, wer diese wohl kennt, zeigte bei der Meldung von nur drei Alteingesessenen, dass es sich hier um ein Urgestein des Computerzeitalters handelte. Mit Noweb gab es 1989 eine Weiterentwicklung von Norman Ramsey. Hiermit war es möglich, Programmdokumentation direkt im Code zu verfassen. Diese Dokumentation kann in HTML oder eben auch TeX stattfinden, wodurch man auch komplexe, mathematische Algorithmen gut beschreiben kann.

Der Abendtreff fand im Pizzahaus statt, welches sehr leckere italienische Gerichte anbot und allen Teilnehmern eine gute Lokalität für angenehme Gespräche bot.

Touristisches Rahmenprogramm

Am Sonntag fand noch ein Stadtrundgang unter dem Motto „Architektur & Stadtplanung“ statt. Das Motto war ganz passend, da in der Südstadt von Karlsruhe an sehr vielen Stellen gebaut wird, sodass beispielsweise der Marktplatz aktuell nicht mehr als solcher zu erkennen ist. Ich habe das Programm aber ausgelassen und mich bereits am Morgen auf den Heimweg gemacht.

Insgesamt war es wieder eine sehr interessante Veranstaltung mit vielen alten (nicht zwingend aufs Alter bezogen) und auch ein paar neuen Gesichtern, die hoffentlich auch bei späteren Veranstaltungen wieder zu sehen sein werden. Vor allem die Vorträge zu SDAPS und scrlayer waren für mich sehr interessant, auch wenn ich sie voraussichtlich nie wirklich nutzen werde.

Wie immer gilt: Wer TeX (in jeglicher Form) nutzt und Interesse daran hat, kann auch als Anfänger bei den DANTE-Veranstaltungen immer etwas mitnehmen. Die nächsten Tagungen werden in Stralsund (DANTE-Frühjahrstagung 2015), Darmstadt (TUG 2015) und Graz (DANTE-Herbsttagung 2015) stattfinden und sicherlich trifft man sich irgendwo dort wieder.

24. September 2014

Firefox 32.0.3 &amp; Thunderbird 31.1.2: Mozilla schließt kritische Sicherheitslücke

Permalink Sören Hentzschel

Mozilla hat das dritte außerplanmäßige Update für Firefox 32 veröffentlicht. Mit der neuen Version reagiert Mozilla auf eine kritische Sicherheitslücke. Auch Thunderbird und SeaMonkey erhalten ein Sicherheitsupdate.

Mozilla schließt mit einer Reihe neuer Updates eine kritische Sicherheitslücke in den Network Security Services (NSS). Die neuen Versionsnummern der Produkte mit geschlossener Sicherheitslücke lauten Firefox 32.0.3, Firefox ESR 31.1.1, Firefox ESR 24.8.1, Thunderbird 31.1.2, Thunderbird 24.8.1 und SeaMonkey 2.29.1. In Thunderbird 31.1.2 wird darüber hinaus ein Problem behoben, welches verursachte, dass Anker-Links in HTML-Mails nicht funktionierten.

Update 25.09.2014: Google hat als Reaktion auf die Sicherheitslücke ein Update für Chrome auf Version 37.0.2062.124 veröffentlicht.

Free! Music! Contest 2014 läuft

Permalink deesaster.org

Ich hätte es fast verpasst, aber auch dieses Jahr findet ein Free! Music! Contest statt, den der Musikpiraten e.V. wie immer organisiert. Noch bis zum 30. September können sich Bands und Interpreten weltweit über das Formular bewerben.

Die Besonderheit des diesjährigen Wettbewerbs, der unter dem Motto „We Love Sharing“ steht, ist dass das Publikum und nicht allein eine Jury abstimmt. Um an der Abstimmung teilnehmen zu können, muss man aber 2,50 Euro „spenden“ und erhält im Gegenzug dafür (neben der Wahlberechtigung) auch noch den kommenden Sampler mit allen Gewinnersongs zum Download von Bandcamp bzw. als Doppel-CD.

Wie immer stehen alle Songs, die später auf dem Sampler landen, unter einer Creative-Commons-Lizenz und können so entsprechend an jeden frei weiter verteilt werden. Wer freie Musik mag, sollte sich also überlegen, den Wettbewerb zu unterstützen. Ansonsten kann man aber auch einfach bis zum 1. Dezember warten, dann werden die Gewinner-Songs alle kostenlos zum Download erhältlich sein.

Arch Linux: Suspend to disk (Hibernate) aktivieren

Permalink thomas-leister.de

Wenn es um den Ruhezustand bei Computern geht, kann zwischen zwei Arten unterschieden werden: „Suspend to RAM” und „Suspend to Disk„. Während bei „Suspend to RAM” (im Folgenden nur „Suspend„) ein Abbild des laufenden Systems in den Arbeitsspeicher geschrieben wird, wird dieses Abbild bei „Suspend to Disk” (im Folgenden „Hibernate„) auf die Festplatte geschrieben. Der große Vorteil von Hibernate ist: Auch, wenn der Strom ausfällt – zum Beispiel durch einen versehentlich gezogenen Netzstecker oder einen leeren Akku – bleiben die Daten erhalten. Die Festplatte behält die Daten schließlich auch ohne Stromversorgung, während der RAM seinen Inhalt bei Energiemangel verliert.

Hibernate ist also immer dann vorzuziehen, wenn ein Computer längere Zeit in den Schlaf geschickt werden soll und die Energieversorgung möglicherweise nicht stabil bleibt. Der Nachteil hierbei: Beim nächsten Start kann das Systemabbild nicht aus dem extrem schnellen RAM gelesen werden (wie beim einfachen Suspend), sondern muss vom der Festplatte geholt werden. Das dauert je nach Leistung der Festplatte etwas länger. Bei modernen SSDs fällt dieser Nachteil jedoch nicht mehr so sehr ins Gewicht.

Eine Kombination aus Suspend und Hibernate ist übrigens auch möglich – dazu mehr am Ende des Beitrags.

Maximale Image Größe festlegen

Das Systemabbild wird beim Hibernate-Modus entweder auf die Swap-Partition geschrieben oder in ein Swapfile. In dieser Anleitung soll die Swap-Partition genutzt werden. Der Swap-Speicher darf also nicht zu klein sein, damit das Abbild dort abgelegt werden kann. Eine Swap-Partition, die genauso groß ist wie der RAM, ist jedoch völlig ausreichend.

Über die Datei /sys/power/image_size kann die maximale Größe des Systemabbilds festgelegt werden. Standardmäßig ist dort als Größenlimit 2/5 des RAM Speichers voreingestellt. Falls das nicht ausreicht, kann das Limit selbstverständlich nach oben korrigiert werden. In den meisten Fällen ist das aber ausreichend.

Wer das Image gerne möglichst klein hätte, kann in die image_size Datei eine „0” schreiben: Das Abbild wird dann so klein wie möglich gehalten.

sudo echo 0 > /sys/power/image_size

Neuen Kernel Parameter setzen

Damit Hibernate funktionieren kann, muss dem Kernel beim Start noch eine Einstellung „resume” mitgegeben werden. Diese enthält den Pfad zur Swap-Partition, wo das Image liegt. Die Zeile „GRUB_CMDLINE_LINUX_DEFAULT=” [...]” in der /etc/default/grub wird folgendermaßen erweitert: (Pfad zur Swap-Partition anpassen!)

GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda2"

Ich nutze eine LUKS Festplattenverschlüsselung, deshalb sind in meiner Konfiguration schon einige Einstellungen vorhanden. Dazu kommt noch, dass der Pfad zu meiner Swap-Partition wegen LUKS und LVM anders heißt. In meinem Fall sieht die Konfigurationszeile so aus:

GRUB_CMDLINE_LINUX_DEFAULT="cryptdevice=/dev/sda4:main:allow-discards resume=/dev/mapper/main-swap lang=de locale=de_DE.UTF-8 add_efi_memmap"

Um die neue GRUB Konfiguration zu übernehmen, wird ein

sudo grub-mkconfig -o /boot/grub/grub.cfg

ausgeführt.

Initramfs Hook ergänzen

In die Zeile „HOOKS=[...]” in der Datei /etc/mkinitcpio.conf muss „resume” hinzugefügt werden. In meinem Fall sieht das so aus:

HOOKS="base udev autodetect modconf block filesystems keyboard keymap encrypt lvm2 fsck resume"

Danach wird das initrd image neu erzeugt:

sudo mkinitcpio -p linux

Hibernate testen

Das System muss jetzt neu gestartet werden, damit Hibernate ab dem nächsten Start zur Verfügung steht.

Nach dem Neustart könnte ihr Hibernate testen:

systemctl hibernate

Der Rechner sollte sich nach einer kurzen Wartezeit ausschalten und beim nächsten Start den Desktop vollständig wiederherstellen.

Suspend und Hibernate kombinieren

Die beiden Modi Suspend und Hibernate lassen sich kombinieren. Das macht Sinn, wenn man auf den schnellen Suspend-Modus nicht verzichten will und keine Daten verloren gehen sollen, falls die Stromversorgung doch einmal wegbricht. Beim Aufwachen wird standardmäßig Suspend genutzt und das Systemabbild aus dem schnellen RAM wiederhergestellt. Sollte das nicht möglich sein, wird auf Hibernate und das Abbild im Swap zurückgegriffen.

Für die Kombination aus beiden Modi muss nichts weiter eingerichtet werden. Mit einem

systemctl hybrid-sleep

wird der Rechner über den Hybrid-Modus in den Schlaf versetzt. Hierbei werden sowohl Suspend als auch Hibernate aktiv.

Der Ausschaltvorgang dauert hier genauso lange wie beim reinen Hibernate-Modus, schließlich muss ja ein Abbild auf die Festplatte geschrieben werden. Das Aufwachen passiert jedoch extrem schnell, da hierfür normalerweise der Suspend-Modus genutzt werden kann und die Daten aus dem RAM geladen werden. Sollte das aus irgendwelchen Gründen nicht möglich sein, wird auf das langsamere Hibernate zurückgegriffen.

Hibernate für den GNOME Desktop

EIn Button mehr ...

Ein Button mehr …

Leider unterstützt der GNOME Desktop den Hibernate-Modus nicht out-of-the-box.

Abhilfe schafft hier die Gnome Shell Extension „Hibernate Status Button, die einen zusätzlichen Hibernate-Button in das Gnome Menü integriert.

Sogar der Hybrid-Modus wird von der Erweiterung unterstützt. Dieser wird durch gleichzeitiges Drücken der ALT-Taste beim Klicken aktiviert.

Standards für Hardware-Aktionen festlegen

In der Konfigurationsdatei /etc/systemd/logind.conf können die Aktionen festgelegt werden, die z.B. beim Schließen des Laptop-Deckels oder beim Drücken des Power-Buttons ausgeführt werden sollen. Für den Laptopdeckel ist die Einstellung „HandleLidSwitch” verantwortlich.

Mögliche Aktionen sind z.B. ignore, poweroff, suspend, hibernate, hybrid-sleep und lock.

Mit einem Neustart des Systemd Login-Daemons werden die Änderungen übernommen:

sudo systemctl restart systemd-logind

Das Unity der 90er Jahre – Window Maker im Test

Permalink Pinguinzubehör

Als eine der Reaktionen auf die Veröffentlichung des Desktop Choosers kam der Hinweis, dass Window Maker fehlen würde. Window Maker? Gibt es den wirklich noch? Tatsächlich. Und er sieht immer noch so aus wie vor vielen Jahren. Und wie zum Hohn wird ausgerechnet der am traditionellsten wirkende Fenstermanager am aktivsten betreut. Während bei IceWM, Openbox oder Fluxbox nicht mehr viel los zu sein scheint, ist Window Maker gerade mal wieder in einer neuen Version erschienen.

Die Mac-OS-X-Bedienphilosophie erfreut sich auch unter Linuxanwendern einiger Beliebtheit, davon zeugt etwa die Nachfrage nach Dock-Nachbauten wie Docky, wbar oder GLX-Dock (vormals Cairo-Dock). Das bei opendesktop.org am häufigsten heruntergeladene Theme ist eine Aqua-Imitation. Mac-Stil ist auch bei Linux populär, spätestens seit Ubuntus Unity und die Gnome-Shell standardmäßig ebenfalls auf ein Dock als Panel setzen. Dabei schlummert die Mac-Philosophie schon länger in den Tiefen der Linux-Oberflächen: bei Window Maker.

Das Apple-Vorbild

Window Maker ist als Nachbau der Oberfläche von „NeXTStep“ konzipiert, ein System, das Apple kaufte und als Grundlage für die Entwicklung des späteren Mac OS X nahm. Aqua-Feeling kommt mit Window Maker daher nicht auf, da es älter ist als OS X, aber die typischen Bedienmuster, die man auch heute noch beim Mac findet, sind unübersehbar vorhanden. Das Dock, das laufende Anwendungen und Programmstarter vereint, und die Mac-artige Fensterverwaltung gibt es auch bei Window Maker.

Window Maker hat sich in den nunmehr 17 Jahren seines Bestehens nicht wesentlich verändert, aber es ist nach einer Durststrecke vor einigen Jahren wieder in aktiver Entwicklung. Die aktuelle Version ist gerade einmal vier Wochen alt. Auf die Windows-Welt übertragen wäre es ein Windows95, das immer noch gepflegt wird. Wie aus dieser Zeit gefallen sieht Window Maker in der Tat auch aus. Die Fensterelemente sind kastig, dunkelgrau und zeigen die übertrieben plastische Gestaltung der 90er Jahre, mit starken imitierten Schatten und Erhebungen. Die Fensterleiste kommt mit zwei Knöpfen aus, für Schließen und Minimieren, und wirkt ebenfalls schlicht-archaisch.


Window-Maker-Desktop mit Dock und geöffneten Einstellungen

Die Oberfläche strahlt etwas sehr Eigenes, Linux- bzw. Unix-Artiges aus, es ist einmal kein Abklatsch von Windows oder Mac, und auch kein CDE, die einst mit Unix oft verwendete Oberfläche, an der sich KDE oder XFCE orientiert haben. Als einziger der für Linux verfügbaren reinen Fenstermanager hat Window Maker ein eigenes Kontrollzentrum an Bord, mit dem sich nahezu alle Einstellungen auch graphisch mit der Maus erledigen lassen. Textkonfigurationsverwöhnte können die Einstellungen natürlich ebenso in Textdateien vornehmen.

Das Dock

Die Bedienung ist schnell erklärt: Jede gestartete Anwendung erzeugt ein Kästchen auf dem Desktop, das an den Rand an das Dock-Symbol geschoben werden und so im Dock verankert werden kann. Durch das Verankern bleiben sie auch nach dem Schließen dauerhaft sichtbar. Laufende Anwendungen erkennt man am Fehlen der 3 Pünktchen bzw. an vergrößerten Symbolen. Die gerade im Fokus befindliche Anwendung wird aufgehellt dargestellt. Das Dock erscheint zunächst nur als einzelnes Feld, nämlich das mit dem Treppenstufen-Symbol (das Logo von GNUstep). An dieses Icon lassen sich alle anderen “andocken”. Ein Doppelklick darauf öffnet zudem die Einstellungen. Ein Klick auf die Kästchen bringt alle Fenster einer laufenden Anwendungen in den Vordergrund. Klicken bei gedrückter Strg-Taste öffnet ein neues Fenster der bereits laufenden Anwendung. Minimierte Fenster werden als zusätzliche Kacheln auf dem Desktop abgelegt. Desktop-Icons für Dateien kennt Window Maker ansonsten nicht.

Anders als beim Mac ist das Dock also zunächst „unsichtbar“, es wirkt optisch wie eine Ansammlung von Anwendungs-Quadraten. Neben- oder untereinander angeordnet bilden die vielen Kästchen schließlich das gemeinsame Dock. Im Gegensatz zu anderen bekannten Docks kann ein Quadrat nicht nur Programmstarter aufnehmen, sondern auch komplette Anwendungen. Somit können im Dock Programme ablaufen. Dazu zählen etwa Kalender, Uhren oder etwa Systemmonitore. Window Maker bot damit also bereits eine Art Widget- bzw. App-Container an, lange bevor diese Schlagworte allgemein bekannt wurden oder Desktops wie KDE sie zum festen Bestandteil der eigenen Oberfläche machten. Die ursprünglichen sogenannten „Dock-Apps“ sind unter Linux jedoch stark in Vergessenheit geraten, neben Window Maker werden sie z.B. auch von Fluxbox und Openbox noch unterstützt.


Beispiel für ein Dock-App: Der Systemmonitor Bubblemon, der die CPU-Auslastung als Wasserstand darstellt – plus Quietscheentchen.

Abseits des Docks verhält sich Window Maker wie ein typischer Fenstermanager auch. Das Hauptmenü liegt auf der rechten Maustaste, wird über den Desktop oder auch ein Tastenkürzel erreicht und kann beliebig editiert werden – auch graphisch, indem neue Elemente während geöffneter Einstellungen einfach hineingeschoben werden. Auch eine arbeitsflächenübergreifende Fensterliste gibt es selbstverständlich.

Die Fensterverwaltung ist ebenfalls Mac-artig: Maximieren führt in der Regel nicht zu einem bildschirmfüllenden Fenster, sondern das Programm vergrößert sich nur relativ entsprechend des freien Platzes in der Breite. Wer ein Fenster tatsächlich in Fast-Vollbild möchte, muss es sich selbst entsprechend zurechtziehen. Nur eine globale Menüleiste, die gibt es nicht, denn als reiner Fenstermanager überlässt Window Maker das Befüllen der Fenster den eigentlichen Anwendungen – die können in diesem Fall von KDE, Gnome oder sonstwoher stammen. Bei Verwendung eines Themes wie z.B. Qtcurve bekommen sie auf Wunsch auch ein einheitliches Erscheinungsbild.

Einige Besonderheiten gibt es jedoch auch bei Window Maker. So werden Programme im Dock standardmäßig mit Doppelklick ausgewählt, den Einfachklick wie ansonsten üblich kann man im letzen Reiter der Einstellungen aktivieren. Eigene Tastenkürzel erstellt man Windows-like im Bereich der Anwendungsmenükonfiguration, nicht in den Tastenkürzel-Einstellungen. In letzteren werden nur die vorgegebenen Kürzel zur Fensterverwaltung geändert.

Arbeiten mit Window Maker

Window Maker besticht durch die Simplizität der Bedienweise, ohne dabei Einstellungen zu verstecken. Die Gefahr, dass man sich zu viel mit der Oberfläche beschäftigt, besteht aufgrund des relativ starren Konzepts nicht, man kann relativ zügig durchstarten. Das Konzept ist durchdacht, intuitiv, simpel und übersichtlich, nicht ohne Grund wird es Apple zur Grundlage seines Desktop-Betriebssystems gemacht haben. Optisch ist Window Maker eine Mischung aus Retro- und zeitlosem Design. Verschiebt man das Dock vertikal auf die linke Seite, sieht Window Maker zudem frappierend nach Unity aus.

Das Menü von Window Maker

Trotz der spartanisch und kantig wirkenden Oberfläche gibt es eine Menge pfiffige Funktionen zu entdecken. Wer keine Desktop-Icons braucht, findet hier einen schnellen und stabilen Fenstermanager, der sich bei der Fensterverwaltung stark wie Mac anfühlt – und eine gehörige Portion Charme mitbringt. Mit Window Maker erhält man einen flinken Fenstermanager, der bei gefülltem Dock etwas bunter daherkommt als die schnörkellosere Konkurrenz, bei dem man auf die typischen Fenstermanagervorteile aber nicht verzichten muss. Window Maker versöhnt Fenstermanager-Minimalismus mit Mausbedienung.

Auf Neulinge wirkt Window Maker zunächst abschreckend und veraltet, ist aber auch für Fenstermanager-Einsteiger aufgrund der graphischen Einstellungen intuitiv zu konfigurieren. Als erfahrenerer Fenstermanager-Fan muss man sich wiederum zunächst daran gewöhnen, dass bei Window Maker sehr viel mit der Maus möglich ist, z.B. das Umbenennen der Menüeinträge durch simplen Doppelklick.

Mit einer moderneren Optik versehen hätte Window Maker die Chance gehabt, das Mac OS der Linuxwelt zu werden – was mit dem Étoilé-Projekt sogar versucht wurde, welches sich nun letztendlich aber für einen anderen Fenstermanager entschieden hat und etwas andere Ziele verfolgt. Window Maker wird daher das bleiben, was es ist: ein schneller, ressourcenschonender Fenstermanager für alle, die Geschwindigkeit, einen guten Schuss Retro und dabei komfortable Bedienung zu schätzen wissen und etwas Extravaganteres suchen, als es die Platzhirsche KDE, Gnome & Co. bieten.