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 |