daemontools unter CentOS 7 installieren

Vor einigen Jahren waren DJBs daemontools ein hervorragendes Werkzeug, um Services unter Linux und Unix zu managen. Heute kennt kaum noch ein Administrator die daemontools. Aber sie sind nach wie vor sehr in einigen Fällen sehr nützlich, daher habe ich sie auf meinem RaspberryPi 2 unter CentOS 7 installiert.

In diesem Artikel möchte ich erklären, wie das funktioniert.

daemontools unter CentOS 7 installieren weiterlesen

Apple SuperDrive am USB-Hub mit El Capitan

Vor einiger Zeit schrieb ich in diesem Blogartikel, wie man ein SuperDrive von Apple an einem USB-Hub anschließen kann.

Der Trick funktioniert mit OS X El Capitan aber nicht mehr, weil dieses einen System Integrity Protection-Modus benutzt.
In diesem Modus werden Änderungen von Systemdateien unterbunden.

Es gibt aber auch hier einen Workaround, der den Anschluss am USB-Hub weiterhin möglich macht.

Dazu sind folgende Schritte notwendig:

  • Zunächst muss man den Mac ausschalten
  • Dann cmd+R gedrückt halten und den Mac einschalten
  • Die Tasten muss man so lange gedrückt halten, bis der Apfel zu sehen ist
  • Der Mac bootet nun in das Rettungssystem
  • Hier schaltet man die System Integrity Protection im Terminal ab: csrutil disable
  • Nun den Rechner neu starten und in das normale System booten
  • Am Terminal kann man nun die Boot-Optionen setzen: sudo nvram boot-args="mbasd=1"
  • Danach muss man den Rechner noch einmal neu starten, damit die Änderung wirksam wird
  • Optional: nach der Änderung kann man System Integrity Protection aus dem Rettungssystem heraus wieder einschalten: csrutil enable
  • Optional: den Status der System Integrity Protection kann man wie folgt prüfen: csrutil status

Referenz: OS X 10.11 – Rootless-Feature deaktivieren

Apple SuperDrive am USB-Hub

Apple empfiehlt das SuperDrive nur an USB-Ports direkt am Mac zu betreiben.
Nun stellt selbst das MacBook Pro leider nur zwei USB-Ports zur Verfügung, was das Ganze ziemlich lästig macht.

Hängt man das Laufwerk an einen USB-Hub, erhält man die lapidare Meldung, dass dieses Gerät mehr Strom benötigt. Dabei gibt es durchaus USB-Hubs, die genügend Strom für das SuperDrive bereitstellen.

Damit OS X das SuperDrive an so einem USB-Hub akzeptiert, muss man den Kernel wie folgt motivieren.

Als root muss man die Boot-Parameter editieren:

vi /Library/Preferences/SystemConfiguration/com.apple.Boot.plist

In der Datei ergänz man dann mbasd=1, so dass sie folgendermaßen ausschaut:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
        <key>Kernel Flags</key>
        <string>mbasd=1</string>
</dict>
</plist>

Jetzt noch ein Neustart, und das SuperDrive läuft am USB-Hub.

Achtung: Wenn der USB-Hub tatsächlich zu wenig Strom zur Verfügung stellt, kann es zu Datenfehlern kommen. Ein USB-Hub, der auf zwei Power-Ports ausreichend Strom liefert, ist der DUB-H7 von D-Link.

Referenz: How to Run a SuperDrive on a Targus Hub

Multi-Domain SSL-Zertifikate

Wer selbst Webserver betreibt, die verschlüsselte Bereiche anbieten sollen, kennt sicherlich das folgende Problem:
HTTPS benötigt pro virtuellem Webserver eine eigene IP-Adresse, weil die Verschlüsselung aktiv wird, bevor der Mechanismus greift, der die Unterscheidung von Name Based Virtual Hosts ermöglicht.

Dieses Problem führt dazu, dass man meistens die Wahl zwischen mehr oder weniger schönen Alternativen hat. Da ich in Projekten immer wieder damit konfrontiert bin – und auch privat des Öfteren danach gefragt werde – möchte ich beschreiben, welche Möglichkeiten man mittlerweile hat, um elegant und ohne irritierende Warnmeldungen damit umzugehen.

Multi-Domain SSL-Zertifikate weiterlesen

Postfix und Dovecot mit StartSSL-Zertifikaten

StartSSL stellt eine günstige Möglichkeit bereit, wie man unkompliziert an SSL-Zertifikate kommt.

Allerdings haben die Zertifkate den Nachteil, dass sie ein Chain-Zertifikat benötigen. Sonst bekommen Nutzer trotz eines eigenlich gültigen Zertifikats Warnmeldungen angezeigt.

Weder Dovecot noch Postfix haben für die Chain-Zertifikate eine Konfigurationsoption. Es geht aber trotzdem sehr einfach, wie im Folgenden gezeigt wird.
Postfix und Dovecot mit StartSSL-Zertifikaten weiterlesen

cron mit LDAP-Nutzern unter Debian

Will man für Benutzer, die im LDAP verwaltet werden, eine crontab erstellen, wird diese unter Debian Wheezy eventuell nicht ausgeführt.

Stattdessen erhält man in /var/log/syslog die Meldung

/usr/sbin/cron[2656]: (lupinchen) ORPHAN (no passwd entry)

Das Problem ist schon uralt: cron erkennt offenbar keine LDAP-Benutzeraccounts.
Die Lösung ist trivial – wenn man sie kennt.
Die besteht darin, den nscd zu starten.

/etc/init.d/nscd start

Schon läuft der cron so, wie man es erwartet und führt auch crontabs für LDAP-Benutzer aus.

Quellen:

Klartext-Protokolle über SSL-Verbindungen testen

Hat man regelmäßig mit Servern zu tun, kommt man nicht umhin, ab und zu via Telnet auf Protokollebene mit dem Server zu sprechen. Solange das über eine unverschlüsselte Verbindung läuft, funktioniert das auch prima, z.B. bei SMTP, POP3 oder HTTP.

Schwieriger wird es, wenn man eine verschlüsselte Verbindung nutzen möchte oder muss. SSL via Telnet macht man nicht so nebenbei 😉 Muss man erfreulicherweise auch nicht, denn es gibt ja OpenSSL. Dieses kann nicht nur Zertifikate erstellen und signieren, sondern auch als Client für SSL-verschlüsselte Verbindungen dienen. Und da es de-facto überall verfügbar ist, sollte man wissen, wie das funktioniert.

Generell muss bei verschlüsselten Verbindungen unterschieden werden zwischen einer obligatorisch verschlüsselten Verbindung, wie sie z.B. bei HTTPS zum Einsatz kommt, und einer optional verschlüsselten Verbindung, wie sie bei der Kombination von SMTP und STARTTLS möglich ist.

Klartext-Protokolle über SSL-Verbindungen testen weiterlesen

Lokaler Nameserver unter Mac OS X

Für einige Entwicklungsaufgaben ist es ungemein praktisch, wenn man mit virtuellen Maschinen arbeitet. Nur kann man sich oft nicht alle IP-Adressen merken, wenn man mehrere davon benutzen muss.
Da wünscht man sich einen lokalen Nameserver, der die Namensauflösung für eine virtuelle Top Level Domain (TLD) übernimmt.
Mit Bind, den Mac OS X von Haus aus mitbringt, konnte ich mich noch nie richtig anfreunden: Das Setup ist zu kompliziert.
Aber dank dnsmasq steht eine sehr leichtgewichtige Alternative zur Verfügung – und die ist sogar mit DHCP kompatibel.

Lokaler Nameserver unter Mac OS X weiterlesen

OpenLDAP Schema Dateien für cn=config aufbereiten

Vor einer Weile habe ich beschrieben, wie man eine Authenfizierung für cn=config von OpenLDAP aktiviert.

Heute möchte ich etwas dazu schreiben, wie man Schema-Dateien in die cn=config importiert.
Wenn man weiß, wie es geht, ist das fast schon erschreckend einfach 😉

OpenLDAP Schema Dateien für cn=config aufbereiten weiterlesen

git-svn für Maverick

Mit OS X Maverick liefert Apple Git in der Version 1.8.3.4 und Subversion in der Version 1.7.10 aus.
Beides sind nicht die aktuellsten und besondern bei Subversion steht mit 1.8 ein um einige Funktionen reicheres Release zur Verfügung.

Wie bereits in einem früheren Artikel beschrieben, bietet WANdisco eine aktuelle Version für Subversion an, die speziell für OS X Maverick kompiliert wurde.

Git gibt es in der Version 1.8.4, die zwar nur für Mountain Lion kompiliert wurde, aber auch unter Mavericks problemlos läuft.

Damit das WANdisco Git mit dem WANdisco Subversion zusammenarbeitet, muss man wieder zwei Links setzen.
Da Mavericks Perl 5.16.2 benutzt, müssen vor den Links die korrekten Verzeichnisse im Git-Ordner erstellt werden.

Hier vier Zeilen, die diese Aufgabe übernehmen:

sudo mkdir -p /opt/git/lib/perl5/site_perl/5.16.2/darwin-thread-multi-2level
sudo ln -s /opt/subversion/lib/svn-perl/SVN /opt/git/lib/perl5/site_perl/5.16.2/darwin-thread-multi-2level/SVN
sudo mkdir -p /opt/git/lib/perl5/site_perl/5.16.2/darwin-thread-multi-2level/auto
sudo ln -s /opt/subversion/lib/svn-perl/auto/SVN /opt/git/lib/perl5/site_perl/5.16.2/darwin-thread-multi-2level/auto/SVN