Sida 1 av 1

PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 29 feb 2008, 01:08
av rylleman
Jag har installerat PureFTPd och PureAdmin men har lite problem jag skulle behöva hjälp med.
För att kunna skapa och använda användare så behöver PureFTPd kompileras med puredb vilket jag gjort efter noterna på PureAdmins hemsida men det verkar inte som om det installerats rätt iaf.
PureAdmins manual säger;
Make sure that pureftpd is compiled with puredb support. If the program pure-pw exists, then pureftpd is correctly compiled.
pure-pw finns så det borde vara rätt installerat.

PureAdmin hittar inte puredb, jag hittar inte puredb, det finns helt enkelt inte på datorn.
Jag når ftpn från annan dator, PureAdmins logg säger att jag ansluter men sen får jag felmeddelandet
[WARNING] Authentication failed for user [testar]
vilket nog beror på att PureAdmin säger att standard lösenordsfil och puredbfil inte hittades.
Kan jag installera puredb separat?, hur gör jag isf?

PureFTPd är senaste från deras hemsida, 1.0.21 medans PureAdmin är det senaste som finns i synaptic, 0.3. (Senaste som finns på deras hemsida är 0.4.2, men jag fick inte det att fungera. Jag tror dock inte versioner av PureAdmin är problemet.)

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 29 feb 2008, 01:23
av Konservburk
Du använder pure-pw för att skapa en auth-fil från en pw-fil:

Kod: Markera allt

pure-pw mkdb auth_fil -f pw_fil
Du talar om vilken auth-fil som ska användas när du startar ftp-servern:

Kod: Markera allt

pure-ftpd -l puredb:/sökväg/till/din/auth_fil

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 29 feb 2008, 10:08
av rylleman
Konservburk skrev: Du använder pure-pw för att skapa en auth-fil från en pw-fil:

Kod: Markera allt

pure-pw mkdb auth_fil -f pw_fil
Du talar om vilken auth-fil som ska användas när du startar ftp-servern:

Kod: Markera allt

pure-ftpd -l puredb:/sökväg/till/din/auth_fil
Tack.
Från vilken pw-fil? finns det någon sådan standard eller måste jag skapa en sådan också?

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 29 feb 2008, 10:59
av Konservburk
rylleman skrev: Från vilken pw-fil? finns det någon sådan standard eller måste jag skapa en sådan också?
Det är en vanlig textfil med rader som ser ut ungefär så här:

Kod: Markera allt

user_name:hash:#uid:#gid::/hemkatalog/./::::::::::::

Du kan skapa filen för hand om du vill. Hashen tar du reda på med:

Kod: Markera allt

printf 'lösenordet' | openssl passwd -1 -stdin

Eller så kan du konvertera systemets passwd-fil:

Kod: Markera allt

sudo pure-pwconvert > pw_fil

Eller så kan du använda pure-pw:

Kod: Markera allt

pure-pw useradd user_name -f pw_fil

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 29 feb 2008, 23:20
av rylleman
Tack. Det visade sig att om jag istället för att i PureAdmin leta efter icke existerande lösenordsfiler skriver in path och filnamn till filerna jag vill skapa så skapar PureAdmin dom...

Nu verkar det dock som om PureFTPd inte startas med stöd för virtuella användare.
Enligt manualen ska jag;
Then, add this switch to your usual pure-ftpd switches:
-l puredb:/path/to/puredb_file
Hittar dock inget bra ställe i init.d/pure-ftpd att stoppa in växeln. Var ska det in?

Kod: Markera allt

#! /bin/sh
#
# pure-ftpd	starts and stops the pure-ftpd ftp daemon

PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=pure-ftpd
DESC="ftp server"
: ${SSDAEMONLOGOPTS:="--quiet"}
UPLOADDAEMON=/usr/sbin/pure-uploadscript
UDNAME=pure-uploadscript
UDDESC="ftp upload handler"
WRAPPER=/usr/sbin/pure-ftpd-wrapper

PIDFILE=/var/run/pure-ftpd/pure-ftpd.pid

# try to figure with suffix this script is called,
# $0 might be a symlink pointing to this script
if [ -h $0 ]; then
	ME=`/bin/readlink $0`
else 
	ME=$0
fi

SUFFIX=`basename $ME | sed -ne 's/^pure-ftpd-\(.*\)/\1/p'`
if [ "$SUFFIX" ] ; then
	DAEMON=/usr/sbin/pure-ftpd-$SUFFIX
else
	DAEMON=/usr/sbin/pure-ftpd
fi

export STANDALONE_OR_INETD=inetd
export VIRTUALCHROOT=
test -r /etc/default/pure-ftpd-common && . /etc/default/pure-ftpd-common

if [ "$VIRTUALCHROOT" = "true" ]; then
	if [ "$SUFFIX" ]; then
		SUFFIX="$SUFFIX-virtualchroot"
	else
		SUFFIX="virtualchroot"
	fi
fi

test -x $DAEMON || exit 0
test -x $WRAPPER || exit 0

set -e

if [ ! -e `dirname $PIDFILE` ];then
       mkdir `dirname $PIDFILE`
fi

start_uploadscript() {
	if [ "$UPLOADSCRIPT" -a "$STANDALONE_OR_INETD" != inetd ] && \
		egrep -i '^[ 	]*(yes|1|on)[ 	]*' /etc/pure-ftpd/conf/CallUploadScript > /dev/null 2>&1
	then
		UOPTS=""
		test "$UPLOADUID" && UOPTS="$UOPTS -u $UPLOADUID"
		test "$UPLOADGID" && UOPTS="$UOPTS -g $UPLOADGID"
		echo -n "$1 $UDDESC: "
		start-stop-daemon --start $SSDAEMONLOGOPTS --oknodo \
			--exec $UPLOADDAEMON -- -r "$UPLOADSCRIPT" -B $UOPTS
		echo "$UDNAME."
		
	fi
}

case "$1" in
  start)
	test "$STANDALONE_OR_INETD" = standalone || exit 0
	echo -n "Starting $DESC: "
	start-stop-daemon --start $SSDAEMONLOGOPTS --pidfile "$PIFDILE" \
		--exec $WRAPPER -- $SUFFIX
	start_uploadscript Starting
	;;
  stop)
	echo -n "Stopping $DESC: "
	start-stop-daemon --stop $SSDAEMONLOGOPTS --oknodo \
		--pidfile /var/run/pure-ftpd/pure-ftpd.pid
	start-stop-daemon --stop $SSDAEMONLOGOPTS --oknodo --exec $UPLOADDAEMON
	echo "$NAME."
	;;
  restart|force-reload)
	test "$STANDALONE_OR_INETD" = standalone || exit 0
	echo -n "Restarting $DESC: "
	start-stop-daemon --stop $SSDAEMONLOGOPTS --oknodo \
		--pidfile "$PIDFILE"
	start-stop-daemon --stop $SSDAEMONLOGOPTS --oknodo --exec $UPLOADDAEMON
	sleep 1
	start-stop-daemon --start $SSDAEMONLOGOPTS --pidfile \
		/var/run/pure-ftpd/pure-ftpd.pid --exec $WRAPPER -- $SUFFIX
	start_uploadscript Restarting
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|force-reload}" >&2
	exit 1
	;;
esac

exit 0

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 01 mar 2008, 00:20
av Konservburk
rylleman skrev: Tack. Det visade sig att om jag istället för att i PureAdmin leta efter icke existerande lösenordsfiler skriver in path och filnamn till filerna jag vill skapa så skapar PureAdmin dom...
Jag har bara använt pure-ftpd löst utan PureAdmin.  Så jag hade ingen aning om att den kunde ordna filerna åt dig :)

rylleman skrev: Nu verkar det dock som om PureFTPd inte startas med stöd för virtuella användare.
Enligt manualen ska jag;
Then, add this switch to your usual pure-ftpd switches:
-l puredb:/path/to/puredb_file
Hittar dock inget bra ställe i init.d/pure-ftpd att stoppa in växeln. Var ska det in?
Jag är lite osäker... jag har startat min pure-ftpd för hand när jag behöver
den... men aldrig från init.d vad jag kan minnas.

Men efter att ha kollat igenom skriptet så gissar jag att du ska lägga till det
efter --exec $WRAPPER -- $SUFFIX på två ställen (under start och under
restart).

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 01 mar 2008, 14:58
av maths57
Är det OK om jag flyttar den här tråden till Nätverk och Server istället?

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 01 mar 2008, 17:05
av rylleman
maths57 skrev: Är det OK om jag flyttar den här tråden till Nätverk och Server istället?
OK för mig.

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 01 mar 2008, 22:05
av rylleman
Nu har jag fått det att fungera!
Satt i evigheter och försökte få in växeln på olika ställen i init.d men utan att lyckas.
Men så efter mångt och länge och otaliga googlingar och forumläsningar hittade jag lösningen.
Init.d ska man inte alls in och fjuttla med utan helt emkelt bara köra "ln -s ../conf/PureDB 50pure" på [/etc/pure-ftpd/auth] för att få pure-ftpd att fatta att den ska använda lösenordsdatabasfilen.

Post #12 i tråden http://ubuntuforums.org/showthread.php?t=9936&page=2 gjorde susen.

Tack för hjälpen Konservburk!

SV: PureFTPd / PureAdmin och puredb, inte rätt installerat?

Postat: 01 mar 2008, 22:22
av Konservburk
Det ska jag lägga på minnet.  Bra att veta om jag någonsin får för mig att ha
en mer permanent ftp-server som startas från init.