Archiv für 6. November 2007

Hundeparty

Tja, das hier kennt vermutlich jeder Hundebesitzer: Kaum ist man mal kurz weg und läßt den Hund alleine, da ruft er seine Freunde und sie feiern eine heftige Party. Hinterher sieht man dann sowas:

Scotty hinter Sektflasche im Wohnzimmer  Scotty hinter Sektflasche im Wohnzimmer

Geschützt: Kaminofen und Kaminfeuer

Dieser Inhalt ist passwortgeschützt. Um ihn anschauen zu können, bitte das Passwort eingeben:

Zertifikat für Cyrus via TLS mit openssl erstellen

In der /usr/local/etc/imapd.conf eintragen:

tls_cert_file: /var/imap/certs/server.pem tls_key_file: /var/imap/certs/server.pem tls_ca_file: /var/imap/certs/server.pem

Und das Zertifikat erstellen mit:

openssl req -new -x509 -nodes -out /var/imap/certs/server.pem
            -keyout /var/imap/certs/server.pem -days 1500

Vorher sollte die /etc/ssl/openssl.cnf angepaßt sein, damit man nicht alles immer wieder beim Erstellen von Zertifikaten für die verschiedenen Dienste neu eintippen muß.

  • http://wiki.hidden.ch/index.php/Cyrus_Imapd
  • http://tldp.org/HOWTO/Postfix-Cyrus-Web-cyradm-HOWTO/cyrus-config.html
  • http://openmailadmin.ossdl.de/wiki/howto/Postfix-SASL-Cyrus-MySQL-Amavis-Postgrey-SpamAssassin-ClamAV-Squirrelmail-Mailman-Mailgraph-OMA

Midgard-Termin Ebsdorf-Runde – Fortsetzung des Szenarios „Im Banne Zaccatas“

Das Szenario wird fortgesetzt. Mal schauen, ob die Gruppe dieses mal überlebt! 😉

Witziges Video über Marburger Medizinstudenten auf Youtube

Heute hat mich eine Kollegin auf dieses Video bei Youtube gestossen. Nett!

Backup von Cyrus

Mein Script (auf dieser Mail des Postfixbuch-User ML basierend), um jede Nacht via crontab unter dem User cyrus ein Backup der wichtigsten Daten von Cyrus zu machen:

/usr/local/bin/cyrus-backup.sh:

#!/usr/local/bin/bash

DATUM=`/bin/date +%Y-%m-%d`
/usr/local/cyrus/bin/ctl_mboxlist -d > /backup/imap/daily/dump/mboxlist_$DATUM.dump

# backup seen databases
BACKUPDIR=/backup/imap/daily
for file in `find /var/spool/imap/user -name *.seen`; do
/usr/local/cyrus/bin/cvt_cyrusdb $file skiplist $BACKUPDIR/$file.txt flat
done

Ich muß das Script demnächst u.a. noch darum erweitern, daß Cyrus zunächst gestoppt wird, bevor ein Dump der Cyrus-DBs gemacht wird.

Rechte der Mailboxen beim Cyrus setzen, um sie z.B. löschen zu können

Wenn es z.B. Probleme beim Löschen von Mailordnern oder Mailboxen gibt, dann liegt das oft an falschen Rechten. Diese kann man mit cyradm setzen, da man meistens via cyradm als User cyrus eingeloggt ist (cyradm --user cyrus --auth login --server localhost), macht es am meisten Sinn, die Rechte für den User cyrus entsprechend zu setzen. Das geht mit sam user.username.mailbox cyrus lrswipcda. Ansehen kann man sich die Rechte mit lam user.username.mailbox. Und mit sam user.username.mailbox anyone lrswipcda kann man die Rechte für alle freigeben. Anschließend kann der Mailordner oder die ganze Mailbox problemlos mit dm user.username.mailbox gelöscht werden.

Qualitätskontrollen von Johnson & Johnson Rektalthermometern – oder – wie es mir gleich wieder besser geht!

Dieses GBO-Zitat finde ich immer wieder klasse:

<Capt_Matthias> Rektalthermometer
<Capt_Matthias>
Falls du heute mal wieder einen dieser "Ich hasse meinen Job" – Tage hast, versuche es mal damit:

<Capt_Matthias>
Gehe nach Feierabend in eine Apotheke und gehe zu den Fieberthermometern. Kaufe ein Rektalthermometer der Marke "Johnson & Johnson". Versichere dich, dass es dieser Hersteller ist!

<Capt_Matthias>
Wenn du zu Hause bist, schließe deine Türen ab, stecke dein Telefon aus und stelle die Klingel ab. Du darfst nicht gestört werden! Ziehe dir bequeme Kleidung an und mache es dir in deinem Bett so richtig gemütlich.

<Capt_Matthias> Jetzt öffne die Packung und nehme das Rektalthermometer zur Hand. Lege es vorsichtig neben dir auf das Bett, so dass es nicht beschädigt wird.

<Capt_Matthias>
Nehme nun die Packungsbeilage aus der Verpackung und lese sie dir durch.. Du wirst auf den folgenden Satz stoßen: Jedes Rektalthermometer der Marke Johnson & Johnson" ist persönlich getestet."

<Capt_Matthias>
Nun schließe deine Augen und wiederhole diesen Satz fünf mal laut: "Ich bin so glücklich, dass ich nicht in der Qualitätskontrolle bei der Firma "Johnson & Johnson" arbeite!!".

<Capt_Matthias>
Merke:

<Capt_Matthias> Es gibt immer irgendwo jemanden, mit einem schlechteren Job als Deinen!

Konvertieren von Dateien mit DOS-Zeilenumbrüchen (^M) unter FreeBSD

Immer wieder hat man Dateien, bei denen man das DOS-Zeilenende ^M los werden will, vor allem wenn es um Webseiten geht, egal ob html oder php. Früher unter Linux oder dem 4er FreeBSD habe ich dafür immer dos2unix genommen, aber beim 6er FreeBSD ist der Port verschwunden und der Port /usr/ports/converters/dosunix erzielt zwar das gleiche Ergebnis, aber dazu muß man erst je eine Zieldatei mit anderem Namen erstellen und dann diese Datei in den ursprünglichen Namen umbenennen. Deshalb habe ich dann meistens doch andere Varianten gewählt, sobald ich mehr als 2 Dateien so bearbieten mußte. Wie üblich gibt es dazu wieder mehrere Möglichkeiten, die im FreeBSD Diary ausführlich beschrieben sind:

  • Der Perl-Klassiker: perl -pi -e "s:^V^M::g" <filenames>
  • cat <filename1> | tr -d "^V^M" > <newfile>
  • sed -e "s/^V^M//" <filename> > <output filename>
  • Die vi-Lösung: 1. hit the ESC key und 2. :%s/^V^M//

Meistens habe ich in letzter Zeit die perl und die sed-Variante genutzt. Aber im FreeBSD Diary Artikel findet sich ganz am Ende noch der Hinweis, daß das Programm dos2unix jetzt im Port /usr/ports/converters/unix2dos steckt. Und damit habe ich dann endlich wieder mein geliebtes altes dos2unix, mit dem das Konvertieren der Dateien in einem Rutsch geht (dos2unix *.php *,html *.css *.js). Da habe ich wohl beim Umstieg auf das 6er FreeBSD am Anfang nicht gut genug gesucht.

Port trotz bekanntem Security Advisory installieren (Meldung „has known vulnerabilities“ beim portupgrade)

Wenn sich ein Port nicht updaten oder installieren läßt, weil eine Sicherheitslücke bekannt geworden ist und deshalb portaudit eine Installation oder ein Update verhindert, dann kann man sich darüber mit der Systemvariabelen DISABLE_VULNERABILITIES hinwegsetzen. Als Extremtippfauler habe ich mir dazu dann noch folgende Aliase für root eingerichtet:

port-no-vuln    setenv DISABLE_VULNERABILITIES true
mpicf   make DISABLE_VULNERABILITIES=true package install clean
pupf    setenv DISABLE_VULNERABILITIES true && portupgrade -abyvR