Archiv für Januar 2010

BackupPC auf CentOS 5 -> SELinux-Problemchen und Kerberos-Authentifizierung

Sonntag, 24. Januar 2010

Der BackupPC lässt sich auf CentOS eigentlich problemlos installieren, bloß das Webinterface verweigert zunächst die Arbeit (Keine Verbindung zum Backuppc-Server). Das Problem ist die Kommunikation CGI <-> BPC-Server, da mit SELinux das .sock-File von Backuppc für Perl nicht lesbar ist.

SELinux lässt sich gezielt für Apache ausschalten:

setsebool httpd_disable_trans 1

Dauerhaft: setsebool -P httpd_disable_trans 1

Hier noch ein Dump der sonstigen Backuppc-Configs:

/etc/httpd/conf.d/BackupPC.conf

<Directory      /var/www/cgi-bin >

order deny,allow

allow from all

SetHandler perl-script

PerlResponseHandler ModPerl::Registry

PerlOptions +ParseHeaders

Options +ExecCGI

AuthUserFile /etc/BackupPC/BackupPC.users

AuthName „BackupPC Community Edition Administrative Interface“

require valid-user

DirectoryIndex BackupPC_Admin

AuthBasicAuthoritative Off

AuthPAM_Enabled on

AuthType basic

</Directory>

Dafür braucht es das mod_perl Modul geladen (dann braucht kein setuid auf dem CGI zu sein). Außerdem mod_auth_pam zur Authentifizierung über Kerberos (oder sonstigem) über PAM. Zur Installation von mod_auth_pam sind einige „Tools“ nötig: Ab Werk frisches OS:
yum install gcc httpd-devel pam pam_krb5 pam-devel
Danach sollte es möglich sein die Module zu kompilieren. Für das Komprimieren und Übertragen per Rsync von Files werden außerdem benötigt:
File-RsyncP-0.68.tar.gz
IO-Compress-2.024.tar.gz
Compress-Bzip2-2.09.tar.gz
Compress-Raw-Zlib-2.024.tar.gz
Compress-Raw-Bzip2-2.024.tar.gz
Außerdem für die Perl-Scripts von Backuppc nötig:
yum install perl-libwww-perl
/etc/pam.d/httpd
auth    required        pam_krb5.so
account required        pam_krb5.so
Wichtiger Hinweis: Wenn der BackupPC-Server nicht komplett in eine LDAP-Struktur integriert wird, sondern bloß stumpf über Kerberos die Benutzer im HTTPD authentifiziert werden sollen, dann muss in der pam.d/httpd bzw. der apache2 etc. unbedingt hinter dem pam_krb5.so-Modul die Option no_user_check stehen. So werden die Benutzerdaten, die Besucher eingeben, nicht gegen die lokale shadow-Datei geprüft, sondern direkt ans Kerberos weitergereicht:
/etc/pam.d/httpd
auth    required        pam_krb5.so no_user_check
account required        pam_krb5.so no_user_check
/etc/krb5.conf – zusätzlich/wichtig:
[libdefaults]
default_realm = MEINE.DOMAIN.DE
[realms]
MEINE.DOMAIN.DE = {
kdc = ldap.meine.domain.de
admin_server = ldap.meine.domain.de
}
/etc/BackupPC.users – lokale User zum Anmelden hier rein
Die sonstige BackupPC Konfiguration in der config.pl kann kaum Probleme machen. Sollte der Apache überhaupt nicht zu erreichen sein, ist auch ein Prüfen der Iptables eine Überlegung wert..
Für die Schickheit noch in /etc/httpd/conf.d/welcome.conf
<LocationMatch „^/+$“>
Redirect 301 / http://backup/cgi-bin/BackupPC_Admin
</LocationMatch>

SMBClient per Kerberos:
Der smbclient von Backuppc soll sich bei Rechner in der Windows-Domäne automatisch anmelden können. Dazu ist ein Service-Benutzer als Admin-Mitglied anzulegen, für ihn eine Keytab (hier /etc/backuppc/backup.keytab) zu erstellen und auf den Backuppc zu bringen.
Daraufhin sollte mit „kinit <User>“ schonmal ein Ticket zu bekommen sein. Nun muss der smbclient dazu gebracht werden, sich mit den Daten in der Keytab zu authentifizieren:
/usr/bin/smbclient-kerberized
#!/bin/bash
KRB5CCNAME=/tmp/backup-ticket
export KRB5CCNAME
/usr/bin/smbclient „$@“
In der Konfiguration des Backuppc wird SmbClientPath zu /usr/bin/smbclient-kerberized und SmbClientFullCmd/IncrCmd/RestoreCmd bekommen eine weitere Option -k für Kerberos: (Achtung, habe hier // statt \ gesetzt, das machte sonst irgendwie Probleme)
$smbClientPath -k //$host/$shareName $I_option -U $userName -E -N -d 1 -c tarmode full -Tc$X_option – $fileList
in die /etc/crontab kommt nun ein Eintrag, um das Ticket regelmäßig einzulösen und noch gleich die Zeit mit zu synchronisieren, da es sonst zu Problemen kommen kann:
0 */8   * * *   root    ntpdate atom.uhr.de > /dev/null ; kinit -c /tmp/backup-ticket -kt /etc/BackupPC/backup.keytab service/backup@MEINE.DOMAIN.DE && chown backuppc /tmp/backup-ticket
Ggfs. in die crontab oben drüber, damit kinit auch gefunden wird:
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/kerberos/bin

Seitenumbruch beim Ausdruck mit IE7

Dienstag, 5. Januar 2010

<div style=„page-break-before:always;font-size:1;margin:0;border:0;“><span style=„visibility: hidden;“></span></div> 

Mausbeschleunigung unter OSX abschalten

Montag, 4. Januar 2010

Im Terminal:

defaults find scaling

zum herausfinden der aktuellen Einstellungen.

Zum Ausschalten der Mausbeschleunigung:

defaults write .GlobalPreferences com.apple.mouse.scaling -1

bzw. für das Trackpad (eher nicht nötig):

defaults write .GlobalPreferences com.apple.trackpad.scaling -1

Durch Ändern der Einstellungen in den Systemeinstellungen -> Maus werden die Kurven wieder zurückgesetzt.