Go Back   HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials > Linux Forums > HOWTO-Related Questions

Do you like HowtoForge? Please consider supporting us by becoming a subscriber.
Reply
 
Thread Tools Display Modes
  #1  
Old 31st December 2009, 01:58
leif@harmsen.net leif@harmsen.net is offline
Junior Member
 
Join Date: Sep 2009
Posts: 9
Thanks: 2
Thanked 0 Times in 0 Posts
Unhappy Virtual Users And Domains With Postfix... saslauthd restart errors

Howto: Virtual Users And Domains With Postfix, Courier, MySQL and SqirrelMail by falko

Problem: Saslauthd does not start, stop or restart and consistently lists these "command not foundthd:" errors. Any clue, or any clue where I could look for clues?


root@harmsen:/etc/postfix# /etc/init.d/saslauthd restart
: command not foundthd: line 5:
: command not foundthd: line 8:
: command not foundthd: line 12:
: command not foundthd: line 16:
: command not foundthd: line 34:
: command not foundthd: line 38:
: command not foundthd: line 42:
thdg SASL Authentication Daemon [ OK ]
: command not foundthd: line 5:
: command not foundthd: line 8:
: command not foundthd: line 12:
: command not foundthd: line 16:
: command not foundthd: line 34:
: command not foundthd: line 38:
: command not foundthd: line 42:
, edit /etc/default/saslauthd and set START=yes
root@harmsen:/etc/postfix#

After googling around and translating forum pages it seems I'm not the only one who has had this problem but nobody has posted a solution. I'm totally stuck. I've been tearing my hair out from this for hours and would appreciate help if anyone would be so kind.

Thanks, Leif Harmsen
Reply With Quote
Sponsored Links
  #2  
Old 31st December 2009, 13:31
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,715 Times in 2,557 Posts
Default

What's in /etc/init.d/saslauthd and /etc/default/saslauthd?
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
  #3  
Old 31st December 2009, 17:04
leif@harmsen.net leif@harmsen.net is offline
Junior Member
 
Join Date: Sep 2009
Posts: 9
Thanks: 2
Thanked 0 Times in 0 Posts
Default /etc/init.d/saslauthd

Code:
#! /bin/sh
### BEGIN INIT INFO
# Provides:          saslauthd
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: saslauthd startup script
# Description:       This script starts the saslauthd daemon. It is
#                    configured using the file /etc/default/saslauthd.
### END INIT INFO

# Author: Fabian Fagerholm <fabbe@debian.org>

# Do NOT "set -e"

# PATH should only include /usr/* if it runs after the mountnfs.sh script
PATH=/sbin:/usr/sbin:/bin:/usr/bin

# Global variables
DAEMON=/usr/sbin/saslauthd
DEFAULT_FILES=`find /etc/default -regex '/etc/default/saslauthd[_a-zA-Z0-9\-]*$' -print | sort`

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Load the VERBOSE setting and other rcS variables
. /lib/init/vars.sh

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# Function that starts all saslauthd instances
# Parameters: none
# Return value: none
do_startall()
{
	for instance in $DEFAULT_FILES
	do
		start_instance $instance
	done
}

# Function that stops all saslauthd instances
# Parameters: none
# Return value: none
do_stopall()
{
	for instance in $DEFAULT_FILES
	do
		stop_instance $instance
	done
}

# Function that sends a SIGHUP to all saslauthd instances
# Parameters: none
# Return value: none
do_reloadall()
{
	for instance in $DEFAULT_FILES
	do
		reload_instance $instance
	done
}

# Function that starts a single saslauthd instance
# Parameters:
#	$1 = path of default file for this instance
# Return value:
#	0 on success (does not mean the instance started)
#	1 on failure
start_instance()
{
	# Load defaults file for this instance.
	. $1

	# If the daemon is not enabled, give the user a warning and stop.
	if [ "$START" != "yes" ]; then
		log_warning_msg "To enable $NAME, edit $1 and set START=yes"
		return 0
	fi

	# If the short name of this instance is undefined, warn the user
	# but choose a default name.
	if [ -z "$NAME" ]; then
		log_warning_msg "Short name (NAME) undefined in $1, using default"
		NAME=default
	fi

	log_daemon_msg "Starting $DESC" "$NAME"

	# Determine run directory and pid file location by looking
	# for an -m option.
	RUN_DIR=`echo "$OPTIONS" | xargs -n 1 echo | sed -n '/^-m$/{n;p}'`
	if [ -z "$RUN_DIR" ]; then
		# No run directory defined in defaults file, fail.
        log_failure_msg "No run directory defined for $NAME, not starting"
		return 1
	fi
	PIDFILE=$RUN_DIR/saslauthd.pid

	# If no mechanisms are defined, fail.
	if [ -z "$MECHANISMS" ]; then
		log_failure_msg "No mechanisms defined in $1, not starting $NAME"
		return 1
	fi

	# If there are mechanism options defined, prepare them for use with
	# the -O flag.
	if [ -n "$MECH_OPTIONS" ]; then
		MECH_OPTIONS="-O $MECH_OPTIONS"
	fi

	# If there is a threads option defined, prepare it for use with
	# the -n flag.
	if [ -n "$THREADS" ]; then
		THREAD_OPTIONS="-n $THREADS"
	fi

	# Construct argument string.
	DAEMON_ARGS="-a $MECHANISMS $MECH_OPTIONS $OPTIONS $THREAD_OPTIONS"

	# If there is a statoverride for the run directory, then pull
	# permission and ownership information from it and create the directory.
	# Otherwise, we create the directory with default permissions and
	# ownership (root:sasl, 710).
	if dpkg-statoverride --list $RUN_DIR > /dev/null; then
		createdir `dpkg-statoverride --list $RUN_DIR`
	else
		createdir root sasl 710 $RUN_DIR
	fi

	# Start the daemon, phase 1: see if it is already running.
	start-stop-daemon --start --quiet --pidfile $PIDFILE --name $NAME \
		--exec $DAEMON --test > /dev/null
	if [ "$?" != 0 ]; then
		log_progress_msg "(already running)"
		log_end_msg 0
		return 0
	fi

	# Start the daemon, phase 2: it was not running, so actually start it now.
	start-stop-daemon --start --quiet --pidfile $PIDFILE --name $NAME \
		--exec $DAEMON -- $DAEMON_ARGS
	if [ "$?" -ne 0 ]; then
		log_end_msg 1
		return 1
	fi

	# Started successfully.
	log_end_msg 0
	return 0
}

# Function that stops a single saslauthd instance
# Parameters:
#	$1 = path of default file for this instance
# Return value:
#	0 on success (daemon was stopped)
#	1 if the daemon was already stopped
#	2 if the daemon could not be stopped
stop_instance()
{
	# Load defaults file for this instance.
	. $1

	# If the short name of this instance is undefined, warn the user
	# but choose a default name.
	if [ -z "$NAME" ]; then
		log_warning_msg "Short name (NAME) undefined in $1, using default"
		NAME=default
	fi

	# Determine run directory and pid file location by looking
	# for an -m option.
	RUN_DIR=`echo "$OPTIONS" | xargs -n 1 echo | sed -n '/^-m$/{n;p}'`
	if [ -z "$RUN_DIR" ]; then
		# No run directory defined in defaults file, fail.
        log_failure_msg "No run directory defined for $NAME, cannot stop"
		return 2
	fi
	PIDFILE=$RUN_DIR/saslauthd.pid

	log_daemon_msg "Stopping $DESC" "$NAME"

	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 \
		--pidfile $PIDFILE --exec $DAEMON

	if [ "$?" -eq 2 ]; then
		# Failed to stop.
		log_end_msg 1
		return 2
	fi

	if [ "$?" -eq 1 ]; then
		# Already stopped.
		log_progress_msg "(not running)"
	fi

	# Many daemons don't delete their pidfiles when they exit.
	rm -f $PIDFILE

	# Stopped successfully.
	log_end_msg 0
	return $RETVAL
}

# Function that sends a SIGHUP to a single saslauthd instance
# Parameters:
#	$1 = path of default file for this instance
# Return value:
#	0 on success (does not mean the daemon was reloaded)
#	other values on failure
reload_instance()
{
	# Load defaults file for this instance.
	. $1

	# If the short name of this instance is undefined, warn the user
	# but choose a default name.
	if [ -z "$NAME" ]; then
		log_warning_msg "Short name (NAME) undefined in $1, using default"
		NAME=default
	fi

	# Determine run directory and pid file location by looking
	# for an -m option.
	RUN_DIR=`echo "$OPTIONS" | xargs -n 1 echo | sed -n '/^-m$/{n;p}'`
	if [ -z "$RUN_DIR" ]; then
		# No run directory defined in defaults file, fail.
        log_failure_msg "No run directory defined for $NAME, cannot reload"
		return 2
	fi
	PIDFILE=$RUN_DIR/saslauthd.pid

	log_daemon_msg "Reloading $DESC" "$NAME"

	# Reload the daemon. First, see if it is already running.
	start-stop-daemon --start --quiet --pidfile $PIDFILE \
		--exec $DAEMON --test > /dev/null

	if [ "$?" -eq 0 ]; then
		# Not running, signal this and stop.
		log_progress_msg "(not running)"
		log_end_msg 0
		return 0
	fi

	start-stop-daemon --stop --signal 1 \
		--pidfile $PIDFILE --exec $DAEMON
	log_end_msg $?
}

# Function that creates a directory with the specified
# ownership and permissions
# Parameters:
#	$1 = user
#	$2 = group
#	$3 = permissions (octal)
#	$4 = path to directory
# Return value: none
createdir()
{
	# In the future, use -P/-Z to have SE Linux enhancement
	install -d --group="$2" --mode="$3" --owner="$1" "$4"
}

# Action switch
case "$1" in
	start)
		do_startall
		;;
	stop)
		do_stopall
		;;
	reload|force-reload)
		do_reloadall
		;;
	restart)
		do_stopall
		do_startall
		;;
	start-instance)
		if [ -f /etc/default/$2 ]; then
			start_instance /etc/default/$2
		else
			log_failure_msg "Instance $2 does not exist."
		fi
		;;
	stop-instance)
		if [ -f /etc/default/$2 ]; then
			stop_instance /etc/default/$2
		else
			log_failure_msg "Instance $2 does not exist."
		fi
		;;
	reload-instance|force-reload-instance)
		if [ -f /etc/default/$2 ]; then
			reload_instance /etc/default/$2
		else
			log_failure_msg "Instance $2 does not exist."
		fi
		;;
	restart-instance)
		if [ -f /etc/default/$2 ]; then
			stop_instance /etc/default/$2
			start_instance /etc/default/$2
		else
			log_failure_msg "Instance $2 does not exist."
		fi
		;;
	*)
		SCRIPTNAME=$0
		echo -ne "Usage: $SCRIPTNAME"\
			"{start|stop|restart|reload|force-reload}\n" \
			"    or {start-instance|stop-instance|restart-instance|\n" \
			"        reload-instance|force-reload-instance} <instance name>\n" \
			>&2
		exit 3
		;;
esac

:
Reply With Quote
  #4  
Old 31st December 2009, 17:08
leif@harmsen.net leif@harmsen.net is offline
Junior Member
 
Join Date: Sep 2009
Posts: 9
Thanks: 2
Thanked 0 Times in 0 Posts
Default /etc/default/saslauthd

Code:
#
# Settings for saslauthd daemon
# Please read /usr/share/doc/sasl2-bin/README.Debian for details.
#

# Should saslauthd run automatically on startup? (default: no)
START=yes

# Description of this saslauthd instance. Recommended.
# (suggestion: SASL Authentication Daemon)
DESC="SASL Authentication Daemon"

# Short name of this saslauthd instance. Strongly recommended.
# (suggestion: saslauthd)
NAME="saslauthd"

# Which authentication mechanisms should saslauthd use? (default: pam)
#
# Available options in this Debian package:
# getpwent  -- use the getpwent() library function
# kerberos5 -- use Kerberos 5
# pam       -- use PAM
# rimap     -- use a remote IMAP server
# shadow    -- use the local shadow password file
# sasldb    -- use the local sasldb database file
# ldap      -- use LDAP (configuration is in /etc/saslauthd.conf)
#
# Only one option may be used at a time. See the saslauthd man page
# for more information.
#
# Example: MECHANISMS="pam"
MECHANISMS="pam"
# MECHANISMS="sasldb"

# Additional options for this mechanism. (default: none)
# See the saslauthd man page for information about mech-specific options.
MECH_OPTIONS=""

# How many saslauthd processes should we run? (default: 5)
# A value of 0 will fork a new process for each connection.
THREADS=5

# Other options (default: -c -m /var/run/saslauthd)
# Note: You MUST specify the -m option or saslauthd won't run!
#
# See /usr/share/doc/sasl2-bin/README.Debian for Debian-specific information.
# See the saslauthd man page for general information about these options.
#
# Example for postfix users: "-c -m /var/spool/postfix/var/run/saslauthd"
# OPTIONS="-c -m /var/run/saslauthd"
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
Reply With Quote
  #5  
Old 1st January 2010, 12:13
falko falko is offline
Super Moderator
 
Join Date: Apr 2005
Location: Lüneburg, Germany
Posts: 41,701
Thanks: 1,900
Thanked 2,715 Times in 2,557 Posts
Default

The first line of /etc/init.d/saslauthd must be
Code:
#!/bin/sh
not
Code:
#! /bin/sh
__________________
Falko
--
Download the ISPConfig 3 Manual! | Check out the ISPConfig 3 Billing Module!

FB: http://www.facebook.com/howtoforge

nginx-Webhosting: Timme Hosting | Follow me on:
Reply With Quote
The Following User Says Thank You to falko For This Useful Post:
leif@harmsen.net (1st January 2010)
  #6  
Old 1st January 2010, 18:11
leif@harmsen.net leif@harmsen.net is offline
Junior Member
 
Join Date: Sep 2009
Posts: 9
Thanks: 2
Thanked 0 Times in 0 Posts
Default No difference.

Thanks for catching that space, but after removing it and attempting
/etc/init.d/postfix restart
/etc/init.d/saslauthd restart

I still get the exact same problem / error response.

Postfix and Mysql are working fine, incoming messages are piling up as they should under home/vmail. Just saslauthd remains unhappy.
Reply With Quote
Reply

Bookmarks

Tags
foundthd, restart, saslauthd

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Postfix Timeout after DATA from some emails treeman Server Operation 13 25th September 2013 12:51
Postfix not responding to telnet CarbonCopy Server Operation 6 8th May 2009 05:39
Undelivered Mail Returned to Sender Error202 General 5 7th May 2009 11:14
localhost postfix/master: fatal: bind 127.0.0.1 port 125: Permission denied g18c Installation/Configuration 4 24th March 2009 17:39
Help configure Postfix to use alt port 465 or 587 BoloMarkIII Installation/Configuration 10 16th March 2009 17:57


All times are GMT +2. The time now is 03:14.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.