Kategorien
Programmierung

LDAP-Suche schlägt bei Namen mit Umlauten fehl

Solange ein Benuztername keinen Umlaut besitzt, kann man den Datensatz Daten mit dem Perl-Modul Net::LDAP recht einfach aus dem Active Directory auslesen:

use Net::LDAP;
$loginUser = Win32::LoginName();

$ldap = Net::LDAP->new($ldapServer) or die "$0";
$ldap->bind($ldapUser, $ldapPass});
$ldap_base = 'OU=Users';
$ldap_results = $ldap->search(base => $ldapBase, filter => "sAMAccountName=$loginUser");

if ($ldap_results->count) {
    # was ganz tolles mit dem Datensatz anstellen
}

Sofern aber ein Umlaut in dem Login-Namen steckt, so schlägt die Suche nach „benjamin.tröt“ fehl, obwohl ein entsprechender sAMAccountName im Active Directory vorhanden ist.

Eine einfache Lösung bietet der Beitrag „Windows logon behavior if your user name contains characters that have accents or other diacritical marks„, welcher – auf das Login bezogen – folgende Ausweichmöglichkeit skizziert:

If your user name in the Active Directory directory service contains one or more characters that have accents or other diacritical marks, you may find that you do not have to use the diacritical mark as you type your user name to log on to Windows. You can log on by using the simple form of the character or characters. For example, if your user name in Active Directory is jésush, you can type jesush in the User name box in the Log On to Windows dialog box to log on to Windows.

Interessanterweise funktioniert dies auch bei LDAP-Anfragen im Active Directory, so daß eine Suche nach dem sAMAccountName „benjamin.trot“ zum gewünschten Datensatz führt.

Stellt sich die Frage, was passiert, wenn tatsächlich ein Benjamin Trot neben seinem Kollegen Tröt Platz nimmt …

Kategorien
Programmierung

Firefox ignoriert charset=UTF-8

Ein Perl-Skript stellt sein UI als Website mit Hilfe des Moduls HTTP::Server::Simple zur Verfügung. Eigentlich sollte ein

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

im Header-Bereich ausreichen, um anzuzeigen, daß die Daten in UTF-8 kodiert sind. Firefox weigerte sich hartnäckig und benutze immer den Default „windows-1252“ zur Darstellung, was alle Umlaute bis zur Unkenntlichkeit verstümmelte.

Erst durch Mitsenden der Zeichenkodierung im Header

print $cgi->header(
	-nph => 1,
	-status => '200 OK',
	-type => 'text/html',
	-charset => 'UTF-8'
);

ließ sich Firefox überreden, die Seite auch tatsächlich als UTF-8 darzustellen.

Kategorien
CDs

Jon Lord – Gemini Suite vinyl reissue: a closer look

Back in 1969, the lineup of DEEP PURPLE had seen a drastic change: Jon Lord, Ritchie Blackmore and Ian Paice split up with singer Rod Evans and bass player Nick Simper and hired the former EPISODE SIX musicians Ian Gillan and Roger Glover to complete the lineup.

One of the first shows to feature the new lineup was the live performance of Jon Lord’s „Concerto For Group and Orchestra“, an ambitious work to unite the different worlds of a rock band and a full orchestra which lay the foundation for Jon Lords career as composer / writer and solo artist. About a year later, the follow-up of the „Concerto“ faced the light of day during a live performance at the Royal Festival Hall, again featuring his DEEP PURPLE bandmates and conductor Malcolm Arnold.

While the „Concerto“ had its focus on band and orchestra as a whole, „Gemini Suite“ did focus on the different instruments, dedicating a track to guitar, piano, drums, vocals bass guitar and organ respectively. Also contrary to the „Concerto“, which took more than 40 years to be recorded in a studio, Jon Lord went to the studio in 1971 to record „Gemini Suite“ as a studio project. At that time, the rock career of DEEP PURPLE was in full flight and Ian Gillan and Ritchie Blackmore showed no interest in participating in the recording and were replaced by guitar player Albert Lee , multi talented Tony Ashton and singer Yvonne Elliman.

The 2019 vinyl release is based on the 2016 remaster by Rob Cass, using the original stereo mixes of the album. Luckily, the remaster doesn’t follow the popular trend of brick-walling every track and preserves the dynamics and overall feel of the original recording.

There’s still no explaination why the original artwork has been dropped and was replaced by completely new design, but the 2016 foreword by Roger Glover is also included on the inner sleeve.

Parts of this text were originally published on December 4th, 2016 as “Jon Lord – Gemini Suite

Kategorien
Programmierung

Sass ohne Ruby

War Ruby Sass bis Anfang 2019 noch das Mittel der Wahl, wenn es um die Syntactically Awesome StyleSheets ging, gilt seit einigen Monaten:

Ruby Sass was the original implementation of Sass, but it reached its end of life as of 26 March 2019. It’s no longer supported, and Ruby Sass users should migrate to another implementation.

Die offizielle Referenz-Implementierung ist seither als Dart Sass erhältlich, sofern es aber lediglich um die Wandlung von scss-Files in css-Stylesheets geht, scheint LibSass in Kombination mit SassC ebenfalls eine gute Alternative.

SassC ist in den offiziellen Debian-Paketquellen enthalten, so daß ein einfaches

$ sudo apt install sassc

reicht, um die beiden Pakete „libsass1“ sowei  „sassc“ herunterzuladen und zu installieren.

Was SassC in der Grundausstattung fehlt, ist die „–watch“-Option von Ruby Sass, diese kann allerdings mit einer einfachen „while“-Schleife und den „inotify-tools“ auf der Kommandozeile oder in einem Shell-Skript nachgebildet werden:

$ while inotifywait -e close_write style.scss; do sassc --style compact style.scss style.css ; done

Das in den „inotify-tools“ enthaltene „inotifywait“

efficiently waits for changes to files using Linux’s inotify interface. It is suitable for waiting for changes to files from shell scripts.

wartet mit dem Parameter „-e close_write“, bis die überwachte Datei „style.scss“ nach dem Öffnen im Schreibmodus wieder geschlossen wurde und übergibt in der „while“-Schleife dann an „sassc“, welches die soeben geänderte Datei verarbeitet.

 

Kategorien
Betriebssysteme

Grundinstallation Debian

Die Grundinstallation von Debian ist schnell erledigt, um allerdings bereits bei der Installation Fine-Tuning betreiben zu können, sollte der Modus „Expert install“ gewählt werden. Dieser bietet nicht nur mehr und detailliertere Optionen, sondern ist an mancher Stelle (z.B. „Benutzer und Passwörter einrichten“) logischer aufgebaut als der „Graphical install“.

Im Debian Installer Menu die Option „Advanced options“ und dann „Expert install“ wählen.

Bei „Select a language“ die Option „German“ auswählen und den Rest der Spracheinstellungen bestätigen, zusätzliche Gebietsschemen müssen keine installiert werden. Die Tastatureinstellungen ebenfalls bestätigen.

Für eine Standardinstallation müssen keine weiteren Installer-Komponenten hinzugefügt werden.

Sofern im Netz ein DHCP-Server in Betrieb ist, können bei einem Großteil der Netzwerkinstallation die Vorgabewerte übernommen werden. Lediglich beim Rechnernamen (sowie ggf. Domänennamen) sollten entsprechende Eingaben gemacht werden.

Im Bereich „Benutzer und Passwörter einrichten“ kann die Vorgabe „Shadow-Passwörter benutzen?“ ebenfalls bei „Ja“ belassen, aus Sicherheitsgründen sollte aber „root das Anmelden erlauben?“ mit „Nein“ beantwortet werden. Als Folge hieraus wird bereits bei der Installation des Betriebssystems ein normales Benutzerkonto angelegt und „sudo“ direkt so eingerichtet, daß hierüber Arbeiten am System vorgenommen werden können.

Sofern kein eigener Zeitserver irgendwo in Betrieb ist, können die Vorgaben bei „Uhr einstellen“ ebenfalls übernommen werden.

Rund um „Festplatten partitionieren“ sind einige Überlegungen zu treffen, welche weitreichende Auswirkungen haben:

Die erste Entscheidung ist, ob die Partitionierung geführt oder manuell erfolgen soll, ob dafür der LVM verwendet werden soll und ob der Inhalt der Festplatte verschlüsselt werden soll oder nicht.

Bei einer Installation auf einer leeren Platte auf einem Desktoprechner ist wahrscheinlich „Geführt – vollständige Festplatte verwenden“ die richtige Option, auf einem mobilen Rechner sollte auf jeden Fall „Geführt – gesamte Platte mit verschlüsseltem LVM“ gewählt werden.

Nach Auswahl der Festplatte muss noch über die Partitionierung der Festplatte entschieden werden. Sofern man nicht einen guten Grund hat, eine der anderen Optionen zu wählen, ist dem Ratschlag

Wenn Sie Sich nicht sicher sind, wählen Sie den ersten Eintrag

zu folgen und „Alle Dateien auf eine Partition, für Anfänger empfohlen“ zu wählen. Anschließend die „Partitionierung beenden und Änderungen übernehmen“.

Bei der Installation des Basissystems kann die Vorgabe „linux-image-amd64“ übernommen werden, sofern man nicht vor hat, demnächst die Hardware des Systems zu ändern, kann bei den „in die initrd aufzunehmende Treiber“ die Option „angepasst: nur für das System benötigte Treiber einbinden“ gewählt werden.

Der Paketmanager wird im Normalfall so konfiguriert, daß ein Netzwerkspiegel statt einer anderen CD oder DVD verwendet wird. Hierbei nicht davon verwirren lassen, daß trotz „HTTPS everywhere“ die Option „http“ gewählt werden sollte. Bei der Auswahl des Spiegelservers können ebenfalls die Vorgaben bestätigt werden.

Der Einsatz von „Non-free“-Software hängt im Wesentlichen davon ab, ob zum Betrieb des Rechners irgendwelche nicht freien Bestandteile benötigt werden, was i.d.R. bei WLAN- oder Grafiktreibern der Fall ist. Die Paketdepots für Quellpakete können angewählt bleiben. „Sicherheitsaktualisierungen“ sollten auf jeden Fall installiert werden, die Auswahl von „Release-Updates“ ist im Normalfall ebenfalls sinnvoll. Die Option „Rückportierte Software“ sollte nur dann ausgewählt werden, wenn auch ein tatsächlicher Bedarf besteht.

Die automatische Installation von Sicherheitsupdates ins Geschmacksache, sofern kein zwingender Grund dagegen spricht, sollte „Keine automatischen Updates“ gewählt werden.

Um ein möglichst schlankes System zu erhalten sollten bei der Sofwareauswahl alle Optionen des „Debian desktop environment“ abgewählt und lediglich „SSH server“ sowie „Standard-Systemwerkzeuge“ selektiert werden. Der Rest wird gezielt nachinstalliert.

Als letztes wird noch der Bootmanager installiert. Hier können – sofern kein Dual-Boot o.ä. geplant ist, die Vorgaben ebenfalls übernommen werden, eine Installation in den EFI-Wechseldatenträgerpfad ist nur selten nötig.

Beim Einstellen der Uhrzeit muß als Letztes noch die Entscheidung getroffen werden, ob die Systemzeit auf UTC gesetzt ist. Ist Debian als einziges System installiert, kann hier mit „ja“ geantwortet werden, im Dual Boot-Betrieb ist entweder hier ein „nein“ oder eine Anpassung des anderen Betriebssystems notwendig.

Nach Abschluss der Installation sollte das neu installierte Betriebssystem dann starten.