FTP-Server weitere Benutzer dauerhaft einrichten!

thematrix86

Neuer User
Mitglied seit
29 Mai 2006
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo,



ich habe seit einigen Wochen die Fritz!Box WLAN 7170 bekommen und mir gleich eine passende externe USB-Festplatte gekauft. Alles läuft wunderbar, die Installation lief problemlos und durch das neue Beta-Firmware der Fritz!Box kann man auch den USB-Speicher via FTP über das Internet abrufen.

Zunächst war ich mit dem Standart-Account "ftpuser" recht zufrieden. Doch der Anspruch nach getrennten FTP-Bereichen auf der Festplatte war schnell da :p Also mussten weitere Benutzer eingerichtet werden, denn nicht jeder sollte Zugriff auf alle Dateien haben, außerdem brauchte ich auch einen FTP-User mit root Zugang.

Über die PASSWD Datei im Verzeichnis "/var/tmp/passwd" konnte ich dann auch neue Benutzer anlegen. Leider werden die Benutzer nach jedem Neustart gelöscht und leider startet meine Fritz!Box an manchen Tagen öfter neu und an manchen Tagen überhaupt nicht, besser gesagt, der Ordner "/var/tmp" wird nach einer unbestimmten Zeit automatisch geleert.

Da man um einen neuen Benutzer anzulegen in einer Telnet-Konsole den Befehl:
Code:
echo "albert:Wrrsi4PbgAAMA:0:0:root:/:null" >> /var/tmp/passwd
Benutzen kann, habe ich mir überlegt, die Datei "/var/flash/debug.cfg" dementsprechend zu modifizieren.

Habe also alle neuen Benutzer in Konsolenbefehle umgewandelt (also mit echo Benutzer in /var/tmp/passwd anlegen) und die debug.cfg geändert.

Die debug.cfg hat nun alle Befehle und legt sogar nach einem Neustart der Fritz!Box die neuen Benutzer an, leider wird im Verzeichnis /var/tmp eine zweite PASSWD Datei angelegt. Da beide Dateien identisch sind und sich nur von der größe unterscheiden, kann ich nur auf eine von beiden zugreifen.

Leider hat auch die Fritz!Box damit ein Problem, es wird nur der erste Benutzer der echo-reihe, die ich in die config.cfg geschrieben habe, in die richtige PASSWD-Datei geschrieben. Die anderen echos landen in die Zweite PASSWD-Datei.

Mein Problem ist also, wie kann ich verhindern, dass zwei PASSWD Dateien angelegt werden?

Ich vermute, dass während beim Neustart der Fritz!Box die config.cfg die Echos schreibt aber von einen anderen Prozess, der parallel läuft überschrieben wird.

Mein Lösungsvorschlag: Ich benötige die Datei, in der die Benutzer angelegt werden und nach dem neustart ins /var/tmp Verzeichnis geladen werden. Die Datei var.tar, die sich im root-verzeichnis befindet, hat auch eine PASSWD Datei, jedoch ist die var.tar Datei für ein Firmware-Reset da.

Im Verzeichnis /etc gibt es auch eine passwd Datei, dedoch handelt es sich bei dieser Datei um einen Verweis.

Kennt jemand eine Lösung?

Bin für jeden Tipp dankbar.




Einige Angaben zur Fritz!Box:
Version: WLAN 7170
Firmware: 29.04.06 (Beta)


MfG,
silent
 
Eigentlich ist es unmöglich zwei Dateien mit absolut gleichen Namen anzulegen. Hast du vielleicht einmal Großbuchstaben und einmal Kleinbuchstaben verwendet? Für Linux sind es dann unterschiedliche Dateien!

Vielleicht hast du ja auch irgendwo im Dateinamen (vielleicht am Ende) ein Leerzeichen untergebracht?

Ich würde hierbei sowieso anders vorgehen: In /var/flash eine Datei mit allen Benutzern anlegen und diese dann in der debug.cfg nach /var/tmp/passwd kopieren.
 
debug.cfg - passwd wird trotzdem überschrieben!!

Hallo,

danke für den Tipp! Ich habe zunächst das Firmware auf Ausgangssituation zurückgesetzt. Danach habe ich die modifizierte PASSWD mit den unbenennt und als "user_accounts" auf den Server in /var/flash/ gespeichert. Klappt problemlos.

Damit bei jedem Reboot auch der Inhalt von "user_accounts" in /var/tmp/passwd gespeichert wird, habe ich in der Datei /var/flash/debug.cfg folgendes geschrieben:

Code:
cat /var/flash/user_accounts /var/tmp/passwd

Das klappt theoretisch auch, leider überschreibt ein Prozess, der nach debug.cfg ausgeführt wird, die passwd und setzt sie auf Ausgangssitutation zurück.

Ich vermute, dass es zwei Wege zum Lösen des Problemes gibt:

  1. Eine Datei wie config.cfg suchen und entsprechend wie oben angegeben anpassen. Die Datei sollte nachdem config.cfg ausgeführt wurde, ausgeführt werden. Vielleicht ist dann die passwd schon geschrieben und man würde dann endlich die passwd neu erstellen, ohne das ein weiterer Prozess die Datei neu erstellt.
  2. Das Skript finden, welches die Datei passwd in /var/tmp schreibt. Kennt sich vielleicht jemand mit JavaScript aus? Im Verzeichnis /usr/www/ gibt es viele html und java Dateien, die das Webinterface der Fritz!Box darstellen. Habe schon einige Dateien durchsucht, leider kein Ergebnis. Wenn man den USB-Speicher im Internet freigeben will, muss ja der User "ftpuser" angelegt werden und mit einem Passwort versehen werden. Irgendwo müssen die Daten doch dauerhaft abgelegt werden, denn nach einem Neustart stehen Benutzername und Passwort in der Datei /var/tmp/passwd.

Trotz lesen etlicher Foren und vielem googlen habe ich keine großartige Hilfe bekommen. Vielleicht weis ja jemand wo die "Boot" Dateien gespeichert sind? Irgendwas wird doch gebootet und in den tmp Speicher geschrieben.

mfg

silent
 
Ich mache es genau wie Du. "echo blablabla >> /var/tmp/passwd" und keine Probleme. Die Datei bleibt danach unverändert.
Möglicherweise hattest Du irgendwo ein Leerzeichen im Dateinamen? ... aber das hast Du wohl schon gelöst.
Ich warte in meiner debug.cfg etwa eine Minute. Danach führe ich ein Script auf meinem USB-Stick aus...
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,782
Beiträge
2,257,378
Mitglieder
374,826
Neuestes Mitglied
teresachavez5000
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.