Pure-ftpd
Zur Navigation springen
Zur Suche springen
Backport from testing to sarge
Backport
BP
vpopmail als Auth-Backend
from http://www.qmailinfo.org/index.php/Horde-Procmail-Filters
das ganze wird benötigt, um von Horde aus z.b. den Mailfilter (maildrop) zu ändern.
/etc/init.d/pure-ftpd_vpopmail
#! /bin/sh # Starts a pure-ftp-auth-process with vpopmail as backend and pure-ftpd on Port 2121 # # Author: Jonathan Tietz <jonathan@tietznet.de>. # # Version: 1.0 03-Dec-2006 # set -e PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="Pure-Ftpd-vpopmail" NAME=pure-authd NAME2=pure-ftpd DAEMON=/usr/sbin/pure-authd PIDFILE=/var/run/pure-ftpd_auth_vpop.pid PIDFILE2=/var/run/pure-ftpd_vpop.pid SCRIPTNAME=/etc/init.d/pure-ftpd_vpop # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 # Read config file if it is present. #if [ -r /etc/default/$NAME ] #then # . /etc/default/$NAME #fi # # Function that starts the daemon/service. # d_start() { #start-stop-daemon --start --quiet --pidfile $PIDFILE \ # --exec $DAEMON /usr/sbin/pure-authd -p /var/run/pure-ftpd_auth_vpop.pid -s /var/run/pure-ftpd_auth_vpop.sock -r /usr/sbin/pure-authd_vpopmail & /usr/sbin/pure-ftpd -0 -B -A -E -H -g /var/run/pure-ftpd_vpop.pid -S 127.0.0.1,2121 -lextauth:/var/run/pure-ftpd_auth_vpop.sock } # # Function that stops the daemon/service. # d_stop() { start-stop-daemon --stop --quiet --pidfile $PIDFILE \ --name $NAME start-stop-daemon --stop --quiet --pidfile $PIDFILE2 \ --name $NAME2 } # # Function that sends a SIGHUP to the daemon/service. # d_reload() { start-stop-daemon --stop --quiet --pidfile $PIDFILE \ --name $NAME --signal 1 start-stop-daemon --stop --quiet --pidfile $PIDFILE2 \ --name $NAME2 --signal 1 } case "$1" in start) echo -n "Starting $DESC: $NAME" d_start echo "." ;; stop) echo -n "Stopping $DESC: $NAME" d_stop echo "." ;; #reload) # # If the daemon can reload its configuration without # restarting (for example, when it is sent a SIGHUP), # then implement that here. # # If the daemon responds to changes in its config file # directly anyway, make this an "exit 0". # # echo -n "Reloading $DESC configuration..." # d_reload # echo "done." #;; restart|force-reload) # # If the "reload" option is implemented, move the "force-reload" # option to the "reload" entry above. If not, "force-reload" is # just the same as "restart". # echo -n "Restarting $DESC: $NAME" d_stop sleep 1 d_start echo "." ;; *) # echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 exit 1 ;; esac exit 0
Activate init-script:
update-rc.d pure-ftpd_vpop defaults
/usr/sbin/pure-authd_vpopmail
#!/bin/bash # ftpauth: This program is called by pure-authd to check if the email l/p are correct # Copyright (C) 2005 Roman Volf # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. VPOPHOME=/var/vpopmail ## Do not change anything below here PATH=$PATH:$VPOPHOME/bin VPOPMAIL_UID=`printf "%s\0%s\0%s\0" $AUTHD_ACCOUNT $AUTHD_PASSWORD Y123457 | vchkpw id -u vpopmail 3<&0` VPOPMAIL_GID=`id -g vpopmail` DOMAIN_DIR=`vdominfo -d $DOMAIN` USER_DIR=`vuserinfo -d $AUTHD_ACCOUNT` if [ $VPOPMAIL_UID ]; then DOMAIN=`echo $AUTHD_ACCOUNT|cut -d "@" -f 2` USER=`echo $AUTHD_ACCOUNT|cut -d "@" -f 1` DOMAIN_DIR=`vdominfo -d $DOMAIN` #not used #if [ ! -f $DOMAIN_DIR/.qmail-$USER ]; then # echo "| /var/qmail/bin/preline /usr/local/bin/preprocmail" > $DOMAIN_DIR/.qmail-$USER # echo "| $VPOPHOME/bin/vdelivermail '' $USER_DIR/Maildir/" >> $DOMAIN_DIR/.qmail-$USER # chown vpopmail $DOMAIN_DIR/.qmail-$USER # chmod 600 $DOMAIN_DIR/.qmail-$USER #fi echo "auth_ok:1" echo "uid:$VPOPMAIL_UID" echo "gid:$VPOPMAIL_GID" echo "dir:$USER_DIR" echo "end" exit fi echo "auth_ok:0" echo "end"