sftp server

  • N'Abend!


    Ich würde gerne einen aus dem Internet erreichbaren Fileserver (incl. Uploadmöglichkeit) auf meinem NAS (TS-219P) haben wollen. Zur Not würde auch das eingebaute FTPES gehen. Das fällt aber aus, weil es erstens immer _allen_ Usern Zugriff bietet (eigentlich wäre mir _ein_ "Onlineuser" mit möglichst wenig Rechten genug) und zweitens mir die dafür nötigen, vielen Portweiterleitungen auf dem Router nicht gefallen.


    Also dachte ich, ich installiere Open-SSH als sftp Server und sperre den "Onlineuser" in ein chroot Gefängnis. Für den Shellzugang hätte ich dann auch gleich noch das Login per Passwort gesperrt und nur noch Public/Private Key akzeptiert. Die Installation war einfach, die Konfiguration auch. Auch das chroot Gefängnis ließ sich einrichten. Aaaaaber ich habe es in zwei Nächten nicht geschafft, dem eingeloggten "Onlineuser" _Schreibrechte_ in seinem chroot bzw. in einem Unterverzeichnis mit passenden Rechten zu geben. Letzteres sollte eigentlich funktionieren, hat es aber nicht.


    Lange Rede, kurzer Sinn: hat schon jemand von euch schlauen Menschen es geschafft, Open-SSH als sftp Server mit chroot und Uploadmöglichkeit zum Laufen zu bekommen? Wenn ja wie? Wenn es hilft, beschreibe ich auch gerne detaillierter, was ich bisher probiert habe. Ich wollte nur nicht noch eine Nacht damit verbringen - macht mich tagsüber immer so platt... ;)


    Danke und beste Grüße,


    Thorsten

  • So, jetzt habe ich es selbst geschafft. Ein zusätzlicher sshd läuft und stellt einen chroot sftp Zugang bereit!! :D:D:D


    Nur eines klappt noch nicht: der Start in der autorun.sh. Wenn ich dort


    Code
    OPT="/share/MD0_DATA/.qpkg/Optware"/sbin/daemon_mgr osshd start "$OPT/sbin/sshd -f $OPT/etc/openssh/sshd_config"


    reinschreibe, startet zwar der sshd, aber ich bekomme ständig diese Fehlermeldung:


    Code
    Server Name: nas
    IP Address: 192.168.0.10
    Date/Time: 09/29/2009 22:06:54
    Level:  Warning
    Re-launch process [osshd].


    Warum??? Gibt es eine manpage zu daemon_mgr??? Wie starte ich den zweiten sshd richtig?


    Danke!


    Beste Grüße,


    Thorsten

  • mich würde auch sehr interessieren wie denn der daemon_mgr genau die namen auflöst.
    ich rufe screen folgendermaßen auf:

    Code
    # cat /etc/rcS.d/QS92screen#!/bin/sh/sbin/daemon_mgr screen start /opt/bin/startscreen.sh


    das ist allerdings nur ein wrapper für

    Code
    /usr/bin/ssh user@localhost '/opt/bin/screen -dmS irc weechat-curses'


    (erklärung für den ssh umweg: ich habe der screen binary das suid weg genommen und ihm dafür die gruppe utmp und das sguid gesetzt)
    die überwachung funktioniert nicht wenn ich den namen im aufruf groß schreibe. der mgr startet den immer wieder.

    Code
    /sbin/daemon_mgr SCREEN start /opt/bin/startscreen.sh


    obwohl aber der prozess sehr wohl so heißt

    Code
    # ps -ef|grep -i screen 5460 user  10864 S   /opt/bin/SCREEN -dmS irc weechat-curses


    killt man den screen und startet man einen neuen gibt es keinen alarm, also wird auch nciht die PID überwacht.
    nun gut, schreibt man screen halt klein...nichts weiter dabei. leider komme ich nicht daraud welchen namen ich beim transmission-daemon verwenden soll.

    Code
    # cat /etc/rcS.d/QS91transmission#wrapper-script#!/bin/sh/bin/echo "/opt/lib" >> /etc/ld.so.conf/sbin/ldconfig/sbin/daemon_mgr transmission start /opt/bin/starttransmission.sh


    wieder ein wrapper für:

    Code
    # cat /opt/bin/starttransmission.sh#!/bin/shexport TRANSMISSION_WEB_HOME=/opt/share/transmission/webTRANSMISSION_HOME=/share/Qdownload/.configTORRENTFOLDER=/share/QdownloadWATCHFOLDER=/share/Qdownload/.watchPORT=50000USERNAME=transuserNAME=transmission-daemonREMOTE_USER=fooREMOTE_PASS=bar#Start transmission daemon/opt/bin/sudo -u transuser EVENT_NOEPOLL=0 /opt/bin/transmission-daemon -P 50001 -c $WATCHFOLDER --blocklist --auth --username $REMOTE_USER --password $REMOTE_PASS -g $TRANSMISSION_HOME#Wait a while till the daemon has started...sleep 15#Set a few settings/opt/bin/transmission-remote --no-alt-speed --alt-speed-uplimit 13  --auth $REMOTE_USER:$REMOTE_PASS --portmap \--port $PORT --pex --global-seedratio 1.3 --dht --global-peers 600 --uplimit 60 --download-dir $TORRENTFOLDER


    Code
    # ps -ef | grep trans
     7634 transuser      2080 S   /opt/bin/transmission-daemon -P 50001 -c /share/Qdownload/.watch --blocklist --auth --username foo --password bar -g /share/Qdownload/.config


    nachdem dem daemon_mgr weder "transmission", "transmission-daemon","starttransmission.sh" noch "/opt/bin/transmission-daemon -P 50001 -c /share/Qdownload/.watch --blocklist --auth --username foo --password bar -g /share/Qdownload/.config" gefallen bin ich langsam am ende meiner weisheit. der daemon_mgr is leider eine qnap eigen produktion ohne doku, und auch in den anderen foren habe ich nichts brauchbars dazu gefunden. ich verwende eine SS-439 mit 3.2.0 Build 1212T.
    Hoffentlich kennt sich jemand mit dem daemon_mgr besser aus. qnap will anscheinend nicht wirklcih was darüber vielieren, weil fragen zum mgr findet man doch genug.