www.ProFTPD.de

ProFTPD => ProFTPD - Deutsch => Thema gestartet von: Patrick am 01. Mai 2003, 14:18:04



Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:18:04
Liebe Leute

Ich wollte vorhin das erste mal proftpd installieren, doch wenn ich es übers webmin starten will, kahm zuerst ein Fehler:
Failed to start FTP server : sh: line 1: /etc/init.d/proftpd: No such file or directory

Dann hab ich so ein Start up script von euch reingetahn.
Doch jetzt kommt der Fehler:
Failed to start FTP server : sh: line 1: /bin/sh: No such file or directory

Kann mir da jemand helfen?

Ich habe Suse 8.2

Ich danke schon im voraus

Mit freundlichen grüssen Patrick


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:20:15
Was kommt bei folgendem Befehl raus?

Code:
find / -name sh -print


Ich denke mal /bin/sh ist bei dir woanders.


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:23:15
/bin/sh wir ausgegeben


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:24:48
Okay.
Welches Start-Script hast du kopiert?


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:25:25
wenn ich /bin/sh im webmin anschaue, ist sh nicht ein ordner.
Es wird mit einem Pfeil dargestellt


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:27:02
Das scribt sieht wie volgt aus :

#!/bin/sh
#
# Start the proftpd FTP daemon.
 
run_proftpd=1
proftpd_options="-d 1"
 
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin
DAEMON=/usr/local/sbin/proftpd
NAME=proftpd
FLAGS="defaults 50"
 
trap "" 1
trap "" 15
 
test -f $DAEMON || exit 0
 
if ! egrep -q "^[:space:]*ServerType.*standalone" /usr/local/etc/proftpd.conf
then
    run_proftpd=0
fi
 
case "$1" in
 
  start)
    if [ $run_proftpd = 1 ]
    then
        update-inetd --disable ftp
        echo -n "Starting professional ftp daemon: "
        if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
            --exec $DAEMON -- $proftpd_options
        then
            echo "$NAME."
        else
            echo
        fi
    fi
    ;;
 
  stop)
    if [ $run_proftpd = 1 ]
    then
        echo -n "Stopping professional ftp daemon: "
        for i in $(find /usr/local/var/proftpd \
            -regex "^/usr/local/var/proftpd/proftpd-[0-9]+$")
        do
            kill -9 $(echo $i | sed "s/^.*[^0-9]//") || true;
            rm -f $i
            killed=1
        done
        if [ "$killed" != "" ]
        then
            echo "$NAME."
        else
            echo
        fi
    fi
    ;;
 
  reload)
    echo -n "Reloading $NAME configuration..."
    for i in $(find /usr/local/var/proftpd \
        -regex "^/usr/local/var/proftpd/proftpd-[0-9]+$")
    do
        kill -1 $(echo $i | sed "s/^.*[^0-9]//") || true;
        killed=1
    done
    if [ "$killed" != "" ]
    then
        echo "$NAME."
    else
        echo
    fi
    ;;
 
  restart)
    $0 force-reload
    ;;
 
  force-reload)
    echo -n "Restarting $NAME daemon."
    /etc/init.d/$NAME stop > /dev/null 2>&1
    echo -n "."
    sleep 2
    echo -n "."
    if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
        --exec $DAEMON -- $proftpd_options
    then
        echo "done."
    fi
    ;;
 *)
    echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}"
    exit 1
    ;;
esac
exit 0


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:31:32
Mach mal
Code:
ls -l /usr/local/sbin/


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:32:44
Da ist nichts drin


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:34:05
Schlecht.

Mach mal
Code:
find / -name proftpd -print


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:35:42
die proftpd datei im Verzeichnis /etc/init.d der musste ich noch diese rechte geben

chmod 700 /etc/init.d/proftpd/
chmod u /etc/init.d/proftpd/
chmod g /etc/init.d/proftpd/

ist das korrekt?


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:36:38
Kannste so machen.
Ist aber nicht das Problem.


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:36:45
Volgendes wird ausgegeben:

/etc/init.d/proftpd
/etc/logrotate.d/proftpd
/etc/webmin/proftpd
/var/run/proftpd
/usr/lib/webmin/caldera/proftpd
/usr/lib/webmin/proftpd
/usr/sbin/proftpd


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:37:07
Okay.
Ändere mal Zeile 8 des Scriptes in:

DAEMON=/usr/sbin/proftpd


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:38:10
Die gleichen Probleme wirst du eventuell mit

/usr/local/etc/proftpd.conf
und den Logfiles bei /usr/local/var/... bekommen


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:42:11
wie meinst du dass?



/usr/local/etc/proftpd.conf
und den Logfiles bei /usr/local/var/... bekommen


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:44:14
also wenn ich proftpd starten will im webmin kommt:

Failed to start FTP server : sh: /etc/init.d/proftpd: /bin/sh : bad interpreter: No such file or directory


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:44:49
also wenn ich proftpd starten will im webmin kommt:

Failed to start FTP server : sh: /etc/init.d/proftpd: /bin/sh : bad interpreter: No such file or directory


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:45:33
Na wo liegen die denn alle?

Das Script sucht benutzt außerdem noch:

/usr/local/etc/proftpd.conf
/var/run/proftpd.pid
/usr/local/var/proftpd/proftpd-....
/etc/init.d/proftpd


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:46:54
Wie meinst du dass?
Komm nicht sorecht draus, was du meinst


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:49:13
Ob die Dateien / Verzeichnisse da sind wollte ich wissen.

Tausch doch mal #!/bin/sh gegen #!/bin/bash

Oder noch besser gib mal ein:

Code:
/usr/sbin/proftpd


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:53:28
Diese dateien existieren nicht

/usr/local/etc/proftpd.conf
/var/run/proftpd.pid
/usr/local/var/proftpd/proftpd-....


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 14:55:16
Zitat von: "Patrick"
Diese dateien existieren nicht

/usr/local/etc/proftpd.conf
/var/run/proftpd.pid
/usr/local/var/proftpd/proftpd-....


Na dann halt wieder

Code:
find / -name proftpd.conf -print


Die bei var können nicht da sein, wenn der Server nicht läuft.
Die Verzeichnisse /var/run/ und /usr/local/var/proftpd/ sind da?


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 14:58:43
Also /usr/local/var gibt es nicht

Es wird nur /etc/proftpd.conf ausgegeben


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 15:08:38
Okay.

Dann änder dein Script so, dass /etc/proftpd.conf da steht.( Zeile 18 )

Und da wo /usr/local/var steht gibst du halt ein Verz. an welches es gibt.

Was passierte bei ?
Code:
/usr/sbin/proftpd


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 15:23:04
Und da wo /usr/local/var steht gibst du halt ein Verz. an welches es gibt.

Wo ist das?


Also mein script sieht jetzt so aus:

#!/etc/init.d
#
# Start the proftpd FTP daemon.

run_proftpd=1
proftpd_options="-d 1"

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin
DAEMON=/usr/local/sbin/proftpd
NAME=proftpd
FLAGS="defaults 50"

trap "" 1
trap "" 15

test -f $DAEMON || exit 0

if ! egrep -q "^[:space:]*ServerType.*standalone"/etc/proftpd.conf
then
    run_proftpd=0
fi

case "$1" in

  start)
    if [ $run_proftpd = 1 ]
    then
        update-inetd --disable ftp
        echo -n "Starting professional ftp daemon: "
        if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
            --exec $DAEMON -- $proftpd_options
        then
            echo "$NAME."
        else
            echo
        fi
    fi
    ;;

  stop)
    if [ $run_proftpd = 1 ]
    then
        echo -n "Stopping professional ftp daemon: "
        for i in $(find /usr/local/var/proftpd \
            -regex "^/usr/local/var/proftpd/proftpd-[0-9]+$")
        do
            kill -9 $(echo $i | sed "s/^.*[^0-9]//") || true;
            rm -f $i
            killed=1
        done
        if [ "$killed" != "" ]
        then
            echo "$NAME."
        else
            echo
        fi
    fi
    ;;

  reload)
    echo -n "Reloading $NAME configuration..."
    for i in $(find /usr/local/var/proftpd \
        -regex "^/usr/local/var/proftpd/proftpd-[0-9]+$")
    do
        kill -1 $(echo $i | sed "s/^.*[^0-9]//") || true;
        killed=1
    done
    if [ "$killed" != "" ]
    then
        echo "$NAME."
    else
        echo
    fi
    ;;

  restart)
    $0 force-reload
    ;;

  force-reload)
    echo -n "Restarting $NAME daemon."
    /etc/init.d/$NAME stop > /dev/null 2>&1
    echo -n "."
    sleep 2
    echo -n "."
    if start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \
        --exec $DAEMON -- $proftpd_options
    then
        echo "done."
    fi
    ;;

  *)
    echo "Usage: /etc/init.d/$NAME {start|stop|reload|restart|force-reload}"
    exit 1
    ;;

esac

exit 0


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 15:24:21
Komm nichtmehr draus sorry


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 15:26:29
Wieso steht in Zeile 1 #!/etc/init.d   statt   #!/bin/sh
Wieso steht in Zeile 9 immer noch DAEMON=/usr/local/sbin/proftpd   statt  DAEMON=/usr/sbin/proftpd

Zeile 44 , 45 , 62, 63

Muß los. Gucke heue Abend nochmal rein.


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 15:30:51
Zeile 44 , 45 , 62, 63 was muss ich dort ergänzen?

alles auf /etc/init.d  ?


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 15:32:19
Zitat von: "Patrick"
wie meinst du dass?

/usr/local/etc/proftpd.conf
und den Logfiles bei /usr/local/var/... bekommen


Da wo /usr/local/etc/proftpd.conf  steht muß z.B. /etc/proftpd.conf hin.
Du musst halt im Script die ganzen Pfade anpassen (Und Zeile 1 und 9 ).
Dann geht's auch.


Titel: proftpd Funktioniert nicht
Beitrag von: Patrick am 01. Mai 2003, 15:42:37
Also ich hab das gemacht jetzt seht es so aus :
   for i in $(find /etc/proftpd.config \
        -regex "^/etc/proftpd-[0-9]+$")
aber im webmin kommt immernoch diesen fehler:

Failed to start FTP server : sh: /etc/init.d/proftpd: /bin/sh : bad interpreter: No such file or directory


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 01. Mai 2003, 22:16:07
Also Zusammenfassung:

1. Das Script läuft unter SuSE 8.2
2. Das Problem waren Steuerzeichen durch Copy&Paste

Wörsty


#!/bin/sh
#
# /etc/init.d/proftpd
# Startscript for SuSE 8.2
# mailto: proftpd_init.d@woerstenfeld.de
#

### BEGIN INIT INFO
# Provides:                     proftpd
# Required-Start:               $local_fs $remote_fs $network
# X-UnitedLinux-Should-Start:   $named $time postgresql sendmail mysql ypclient dhcp radiusd
# Required-Stop:                $local_fs $remote_fs $network
# X-UnitedLinux-Should-Stop:
# Default-Start:                3 5
# Default-Stop:                 0 1 2 6
# Short-Description:            Proftpd FTP-Server
# Description:                  Start the proftpd daemon
### END INIT INFO
#
# load the configuration
#
USER_TO_RUN="ftpserver"
LOGFILEPATH="/var/log/proftpd"
CONFFILEPATH="/etc/proftpd.conf"
PROFTPD_BIN="/usr/sbin/proftpd"
PIDFILE="/var/run/proftpd.pid"
test -s /etc/rc.status && \
    . /etc/rc.status

test -x $PROFTPD_BIN || exit 5

rc_reset

#
# The echo return value for success (defined in /etc/rc.status).
#
return=$rc_done

#
# main part
#
case "$1" in
    start)
        echo -n "Starting proftpd "
        if test -f $PIDFILE; then
                echo "Error: PID-File found!"
                rc_failed 1
                rc_status -v
else
         if $PROFTPD_BIN; then
                startproc -t 10 $PROFTPD_BIN
                ret=$?
                rc_failed $ret
                rc_status -v
         else
                rc_failed 1
                rc_status -v
         fi

         if test -e $LOGFILEPATH ; then
            chown $USER_TO_RUN $LOGFILEPATH ;
         else
            mkdir $LOGFILEPATH
            chown $USER_TO_RUN $LOGFILEPATH ;
         fi
        fi    
        ;;
    stop)
        echo -n "Shutting down profpd"
        #killproc -G -TERM $PROFTPD_BIN
        /bin/kill `cat $PIDFILE 2> /dev/null ` > /dev/null 2>&1
        ret=$?
        rc_failed $ret
        rm -f $PIDFILE > /dev/null 2>&1
        rc_status -v
    ;;
    restart)
        $0 stop  && sleep 3
        $0 start
        # Remember status and be quiet
        rc_status
    ;;
    reload)
        echo -n "Reload proftpd"
        if $PROFTPD_BIN ; then
                killproc -USR1 $PROFTPD_BIN || return=$rc_failed
                rc_status -v
        else
                rc_failed 6
                rc_status -v1
        fi
    ;;
    status)
        echo -n "Checking for proftpd: "
        checkproc $PROFTPD_BIN
        ftpwho -v
        rc_status -v
    ;;
    *)
    echo "Usage: $0 {start|stop|status|restart|reload}"
    exit 1
esac

# Inform the caller not only verbosely and set an exit status.
rc_exit


Titel: proftpd Funktioniert nicht
Beitrag von: Wörsty am 03. Mai 2003, 00:25:44
Also Zusammenfassung:

1. Das Script da oben läuft unter SuSE 8.2
2. Das Problem waren Steuerzeichen durch Copy&Paste

Wörsty