Useful things

Suchen

Ich nutze den FTP Server des Popcorn Hour C-200 gerne auch für andere Tätigkeiten, bspw. als FTP-Push-Verzeichnis (von außen angestoßene Uploads auf meinen C-200) oder auch um von unterwegs Fotos von meinem iPhone darauf zu übertragen. Damit ich hier nicht den Haupt-FTP Account nutzen muss, habe ich mir mit viel Mühe einen relativ komfortablen Weg zusammengesucht (bin mit der Lundman Shell des C-200 nicht wirklich vertraut).

Hier also meine Lösung für mehrere FTP-Nutzer:

per Lundman Shell (per CSI installieren) verbinden

(*) cmd
(*) nc IP-C-200 2222
(*) sh

IP-C-200 bspw. 192.168.0.10


User FTPuser2 einrichten (FTPuser2 ist hier Platzhalter und kann relativ frei gewählt werden, aber: Groß-/Kleinschreibung beachten!)

/nmt/apps/bin/pure-pw useradd FTPuser2 -f /etc/pureftpd.passwd -u 1001 -g 1001 -d /opt/sybhttpd/localhost.drives/SATA_DISK/weiterer_Pfad

Somit hat der neue Nutzer FTPuser2 Zugriff auf die interne HDD ab Ordner weiterer_Pfad

Möchte man weitere Nutzer anlegen, so wiederholt man diesen Schritt einfach mit weiteren Usern und Pfaden.
Nach Eingabe dieses Befehls muss man zwei mal das Passwort für diesen User eingeben.


Änderung in Datenbank schreiben

/nmt/apps/bin/pure-pw mkdb

Änderungen für Reboot persistent machen (d.h. die Einstellungen gehen nach einem Neustart des C-200 nicht mehr verloren)
1. Schritt: kopieren der ftp_settings Dateien in einfach zu erreichenden Ordner

cp -p /etc/pureftpd.* /opt/sybhttpd/localhost.drives/SATA_DISK/z_ftp_settings/
cp -p /nmt/apps/etc/ftpserver.sh /opt/sybhttpd/localhost.drives/SATA_DISK/z_ftp_settings/

aus diesem Ordner nun im Explorer die ftpserver.sh bspw. nach C:\ kopieren

kopierte C:\ftpserver.sh in Texteditor öffnen, der Unix kann (UltraEdit zB, Notepad geht NICHT!)
folgendes in der ftpserver.sh nach Zeile #8 einfügen, direkt nach echo -n "Starting FTP Server...":

cp -p /opt/sybhttpd/localhost.drives/SATA_DISK/z_ftp_settings/pureftpd.* /etc/

und anschließend natürlich speichern

Die Datei /z_ftp_settings/ftpserver.sh löschen (überschreiben geht mangels Rechte nicht).

Die editierte ftpserver.sh in /z_ftp_settings/ kopieren.

Jetzt ist die angepasste ftpserver.sh auf der HDD des C-200 im Verzeichnis /z_ftp_settings.

zurückkopieren der cfg, welche dann bei jedem Boot die vorhandenen FTP Server Settings überschreibt (da Änderungen im /etc/ Verzeichnis nicht permanent gelten, sondern nur für aktuelle Session):

(*) cp -p /opt/sybhttpd/localhost.drives/SATA_DISK/z_ftp_settings/ftpserver.sh /nmt/apps/etc/
(*) exit

(exit muss nicht unbedingt, ist aber sauberer :P)


Die mit (*) markierten Schritte müssen nach einem Firmware-Update des C-200erneut ausgeführt werden!! Falls durch das Firmware-Update des C-200 Änderungen am FTP-Server passiert sind, so müssen alle Schritte nochmals abgearbeitet werden!

Im Normalfall sollte so also nach einem Firmware-Update des C-200 das Einloggen in die Shell und zurückkopieren der ftpserver.sh ausreichen, was im Grunde nur einem einzigen Befehl entspricht.

Weitere Hilfe wie diese kann ich nicht wirklich geben, da ich mich mit der Shell zu wenig auskenne.

Gute Anlaufstellen wären aber bspw. das deutschsprachige networked media tank Forum oder das englischsprachige networked media jukebox board, aus denen ich mir auch die jeweiligen Infos zusammengesucht habe.

Viel Erfolg!

Grundlegende Hinweise:

1. Wählt als Verzeichnis für eure settings kein per neu angelegtem User aufrufbares Verzeichnis (in meinem Beispiel SATA_DISK/z_ftp_settings/).

2. Achtet bei der Anlage der User und des Passworts auf Groß-/Kleinschreibung, diese muss beim späteren Login beibehalten werden.

3. Die hier angegeben Befehlszeilen lassen sich unter Windows kopieren und per Klick auf das Shell-Icon oben links > Bearbeiten > Einfügen ganz einfach als Befehl einfügen, müht euch nicht mit Abtippen ab.

4. Gern würde ich noch die Nutzung der FTP Benutzer auf bestimmte IP-Bereiche und/oder MAC-Adressen beschränken. Sollte jemand hier mit Infos dienen können, so wäre ich über eine Nachricht dankbar.

Comments:

blog comments powered by Disqus