[Postfixbuch-users] vacation/autoanswer unter postfix + mysql
Christian Boltz
postfixbuch at cboltz.de
Di Aug 7 22:10:15 CEST 2007
Hallo Wolfgang, hallo Leute,
Am Dienstag, 7. August 2007 schrieb Wolfgang Murth:
> Postfixadmin aus dem Sourceforgerepository holen mit folgendem Skript
[...]
> #delete all svn directories
> rm -rf `find . -type d -name .svn`
... oder auch nicht, falls man mal updaten will.
Dass dieser Löschbefehl Ärger mit Dateinamen mit Leerzeichen usw. macht,
sei nur am Rand erwähnt.
> cp -rf $SVNPOSTFIXADMIN/postfixadmin/trunk /var/www/postfixadmin
> chown -R www-data: /var/www/postfixadmin
Warum sollen die Dateien www-data gehören? Der Webserver braucht darin
keine Schreibrechte. Verbleibt nur noch das Restrisiko, dass er sie im
Fall irgendeiner Sicherheitslücke ausnutzt und Dateien überschreibt,
löscht oder hinzufügt.
Dateien und Verzeichnisse sollten nur für den Webserver schreibbar sein,
wenn das auch wirklich nötig ist (z. B. bei einem CMS mit
Dateiupload-Funktion).
Bevor der Einwand kommt: Ja, Dateien mit (Datenbank-)Passwörtern sollten
nicht für alle lesbar sein. Das erreicht man mit Owner root und Gruppe
www ;-)
> # create the home directory for the vacation user
> mkdir -p /var/spool/vacation
> cp /var/www/postfixadmin/VIRTUAL_VACATION/vacation.pl
> /var/spool/vacation/vacation.pl
>
> chown -R vacation.vacation /var/spool/vacation
> chmod -R 0700 /var/spool/vacation
Gleicher Spruch, diesmal mit vacation: das Script sollte keine
Schreibrechte auf sich selbst haben. Daher bitte root als Owner. Und
ein beschreibbares Homeverzeichnis braucht es auch nicht, wie das
folgende AppArmor-Profil zeigt (läuft so auf einer openSUSE 10.2):
#include <tunables/global>
/var/spool/vacation/vacation.pl {
#include <abstractions/base>
#include <abstractions/bash>
#include <abstractions/consoles>
#include <abstractions/mysql>
#include <abstractions/nameservice>
#include <abstractions/perl>
/bin/bash ixr,
/bin/logger Px,
/usr/bin/perl ix,
/usr/sbin/sendmail Px,
/var/spool/vacation/vacation.pl mr,
}
Sprich: Das vacation-Script braucht weder in seinem Homeverzeichnis noch
in /tmp/ irgendwelche Schreibrechte - es ruft lediglich ein paar
Programme auf (sendmail via bash, logger) und braucht natürlich auch
das Recht, sich selbst auszuführen ;-) (perl, vacation.pl)
> ---------------------------------------
>
> Achtung bei vacation.pl, denn bei den Variablendeklarationen brauchst
> du überall ein "my" davor, zumindest wenn du Debian Ätsch verwendest.
Oder "our" und dann eine externe
Configdatei /etc/mail/vacation/vacationrc. Im Script steht das (nur)
als auskommentiertes Beispiel, weil die Entwickler meinen Patch in
diesem Punkt nicht wirklich mochten. Lag wohl daran, dass ich die
vacationrc zwingend voraussetzte.
Falls jemand einen Patch schreibt, der Default-Werte verwendet und bei
Existenz der vacationrc diese liest: bitte im Postfixadmin-Tracker
eingeben ;-)
Gruß
Christian Boltz
--
> (Windows XP welches auch installiert ist läuft aber ohne Probleme)
Musst Du nicht erwähnen, eine Mail so zu versauen, geht in der Regel
nur mit Outlook. [> Stephan Papst und Manfred Tremmel in suse-linux]
Mehr Informationen über die Mailingliste Postfixbuch-users