Erstellt vor 5 Jahren

Zuletzt geändert vor 4 Jahren

#2287 new enhancement

Samba-Erweiterung

Erstellt von: SpaceRat Verantwortlicher:
Priorität: normal Meilenstein: freetz-future
Komponente: unknown Version: devel
Stichworte: Beobachter:
Product Id: Firmware Version:

Beschreibung

Mir fällt zunehmend auf, daß die vorhandene Fassung des freetz-samba die AVM-Firmware radikal beschneidet.

Ich möchte daher eine Alternative vorstellen, mit der sich freetz-samba (wieder) harmonisch in die Firmware einfügt:

Mit meiner Fassung läßt sich Samba nach wie vor komplett über Freetz konfigurieren, man kann es aber auch sein lassen und freetz-samba verhält sich dann nahezu 1:1 wie der AVM samba (Sinnvoll, wenn es einem primär um den durch Externalisierung gesparten Platz geht).

Meine Fassung übernimmt die in der AVM-Firmware konfigurierten Boxuser (Ab Fritz!OS 5.x) bzw. den vorhandenen ftpuser (Auch wenn er boxusr80 heißt) samt ihrer Kennwörter.
Aus diesem Grund gibt es auch keinen Freetz-Systemuser für Samba mehr, das könnte man aber zur Not auch noch ändern. Stattdessen habe ich die Konfiguration eines root-Users vorgesehen.

NetBIOS-Name, Arbeitsgruppe und Server-Beschreibung werden wie in AVMs Konfiguration gesetzt, solange sie nicht durch Konfiguration in Freetz überschrieben werden.

Network Browsing kann komplett in Freetz konfiguriert werden (Domain Master, Local Master, Preferred Master und OS Level for election.

freetz-samba kann über die freetz-GUI als WINS-Server oder WINS-Client konfiguriert werden. Standardmäßig ist WINS aus.

freetz-Samba fügt sich dabei so gut es geht in die AVM-Firmware ein. In der AVM-Firmware wird nicht mehr die gesamte NAS-Konfiguration rausgeschnippselt, was auch den Mediaserver kaputtmacht, sondern lediglich der "NAS aktiv"-Button deaktiviert.
Sonstige Änderungen an der Konfiguration innerhalb der AVM GUI werden auch weiterhin direkt übernommen, also z.B. neue Boxuser!
Solange nicht ohne Not eine inkompatible Konfiguration innerhalb von Freetz vorgenommen wird, merkt die AVM GUI also nicht einmal, daß es der freetz-samba ist, mit dem sie arbeitet!

Anhänge (17)

make_freetz-samba_cooperative.patch (16.8 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Die Änderungen als Patch gegen freetz-trunk 11372
make_freetz-samba_cooperative-0.2.patch (19.8 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Optimierter Patch gegen Trunk 11381/11382
make_freetz-samba_cooperative-0.3.patch (19.8 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Neue Version: Kleine Verbesserungen, insbesondere im Zusammenspiel mit Firmwares xxx.04.8x
make_freetz-samba_cooperative-0.4.patch (20.0 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Fix creating the ftpuser / Fix for missing system user "nobody"
comment34.tar.gz (35.8 KB) - hinzugefügt von agowa vor 5 Jahren.
make_freetz-samba_cooperative-0.6.patch (48.2 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Patch version 0.6 for a cooperative Freetz-Samba
make_freetz-samba_cooperative-0.7.patch (48.2 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Patch version 0.7 for a cooperative Freetz-Samba
make_freetz-samba_cooperative-0.8.patch (48.3 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Version 0.8 of my Freetz-Samba patch (Fixes Samba >3.0)
make_freetz-samba_cooperative-0.9.patch (48.4 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Version 0.9 of my Freetz-Samba patch (Add Changelog, fix FritzBox interaction)
Samba_Freetz.jpg (66.3 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Samba komplett durch Freetz konfiguriert
Samba_AVM.jpg (57.8 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Samba komplett über AVM-Oberfläche konfiguriert, inkl. ACL-Patch, nur der Start/Stop wird durch Freetz geregelt
make_freetz-samba_cooperative-0.10.patch (45.1 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Patch version 0.10 for a cooperative Freetz-Samba
make_freetz-samba_cooperative-0.11.patch (44.4 KB) - hinzugefügt von SpaceRat vor 5 Jahren.
Version 0.11 of my Freetz-Samba patch (Fixes, Cleanup)
freetz einstellungen.jpg (84.2 KB) - hinzugefügt von dougi vor 5 Jahren.
avm einstellungen.jpg (108.2 KB) - hinzugefügt von dougi vor 5 Jahren.
make_freetz-samba_cooperative-0.13.patch (45.7 KB) - hinzugefügt von SpaceRat vor 4 Jahren.
Patch version 0.13 for a cooperative Freetz-Samba
make_freetz-samba_cooperative-0.15.patch (46.9 KB) - hinzugefügt von SpaceRat vor 4 Jahren.
Patch version 0.15 for a cooperative Freetz-Samba

Alle Anhänge herunterladen als: .zip

Änderungshistorie (111)

comment:1 Geändert vor 5 Jahren durch SpaceRat

Hinweis:

Der Patch 300-remove-samba entfernt Samba momentan nie.
Logisch, da die Auswahl des Paketes freetz-samba gleichzeitig auch die Option "Remove AVMs Samba" auswählt, was ich ja genau vermeiden wollte.

Das Rausschneiden der NAS-Funktionalität aus der AVM-Firmware sollte nach dieser Anpassung aber wirklich nur noch dann erforderlich sein, wenn AVMs Samba entfernt und auch kein freetz-Samba dafür eingebaut wird!

comment:2 Geändert vor 5 Jahren durch er13

Bitte alle Änderungen als Patch gegen trunk, ansonsten ist Deine Arbeit komplett umsonst und wird ignoriert.

Geändert vor 5 Jahren durch SpaceRat

Die Änderungen als Patch gegen freetz-trunk 11372

comment:3 Geändert vor 5 Jahren durch cuma

Welchen Vorteil hat das ganze denn? Du könntest ja auch einfach den AVM-Samba drin lassen. Änderungen an Freetz-Samba seh ich kritisch, vor allem so große, da es sehr lange gedauert hat den überall stabil zu bekommen. Außerdem müsste jeder alles neu konfigurieren.

Du hast anscheinend eine neuere FritzOS Version. Wie sieht es denn aus mit älteren Versionen? Die Konfiguration war mal in einer anderen Datei in /var/flash (ctlusb). Und was ist mit den Versionen, bei denen man noch keine Workgroup separat angeben konnte? Bei manchen wurde der Server-Name durch irgendeinen anderen Namen gesetzt. Was ist mit Firmware die noch kein NAS hatte? Was ist mit Firmware bevor es die Benutzerverwaltung gab? Was ist mit Firmware bei der der Samba nicht einzeln aktiviert werden konnte, sondern nur mit dem FTP zusammen (wieder anderer Speicherort)?
Wäre es nicht besser für Webif-Patches weiterhin sed zu nutzen? Ist perl überhaupt in den prerequisites von Freetz?

Es könnte einfacher sein, eine "Erweiterung" für den AVM-Samba zu machen (zusätzlicher Webif-only Package), die eine Seite im Freetz-Webif hat wo man zusätzliches konfigurieren könnte.
Die Art wie der Patch gemacht ist, finde ich aber gut :D

PS: Die einzelnen Dateien hab ich gelöscht

Zuletzt geändert vor 5 Jahren von cuma (vorher) (Diff)

comment:4 Geändert vor 5 Jahren durch SpaceRat

Der Vorteil ist der, daß damit eigentlich alle glücklich werden können sollten:

  1. Diejenigen, die Samba nur deshalb als freetz-Paket einbauen, um durch Externalisierung Platz im image zu sparen

Ohne weitere Konfiguration verhält sich der freetz-samba wie der von AVM

  1. Diejenigen, die nur Kleinigkeiten am AVM-Samba stören

Bei mir war es z.B. zu Anfang nur der fehlende root-Zugriff. ftpuser-Zugriff nervt, weil der nix darf.

  1. Diejenigen, die Samba von vorne bis hinten selber konfigurieren wollen.

Die samba.cgi bietet nun sinnvolle Einstellungsmöglichkeiten für fast alle Szenarien (Abgesehen von einer kompletten Benutzerverwaltung, aber die war noch nie drin), inkl. "Network Browser"- und WINS-Konfiguration.

Ich habe die samba.conf auf einer 7570, die ja zwangsläufig mit alter Firmware läuft, gegengetestet:
Die AVM-Konfiguration wird zuerst in /var/tmp und dann in /var gesucht, also in jedem Fall gefunden. Dabei ist es wurscht, ob eine alte Firmware (Systemuser ist boxusr80) oder eine steinalte (Systemuser ist ftpuser) verwendet wird, beide werden bedarfsweise berücksichtigt.
Es werden also auch immer Benutzer gefunden, und sei es nur der ftpuser.

Überhaupt habe ich nie verstanden, wozu freetz-samba einen nutzlosen Zusatzbenutzer anlegt, der dieselben Rechte hat wie der vorhandene. Das hat auch in der Vergangenheit immer wieder zu Verständnisproblemen geführt.
Der root-Benutzer hingegen macht Sinn, weil der so nicht vorhanden/aktiv ist.

perl unterstützt mächtigere reguläre Ausdrücke als sed. In diesem Fall den non-greedy-match. Beim Bauen (und nur dann wird perl aus dem Patch benötigt) ist Perl auf jeden Fall vorhanden, auch andere Patches verwenden perl.

Und zum derzeitigen Stand von Samba in Freetz:
Der ist alles andere als stabil. Verzeih mir, aber genau genommen ist er Schrott, sonst hätte ich mir nicht die Arbeit gemacht. Im aktuellen Trunk macht Samba reichlich viel kaputt (NAS, Medienserver, …) für sehr wenig Gegenwert (Am Ende hat man doch wieder nur einen Samba mit unterprivilegiertem User).
In meinem Patch habe ich mir Mühe gegeben, alle Bedürfnisse abzudecken, vom Einsteiger bis zum Profi, und sogar Einstellungen eingebaut, die ich eigentlich mit manueller Eingabe unter "erweitert" für ausreichend abgedeckt halten würde (Wieviele Nutzer legen wirklich einen WINS an oder brauchen unbedingt einen anderen NetBIOS-Namen als FRITZ?).

comment:5 Antwort: Geändert vor 5 Jahren durch cuma

Okay, du gehst also nur davon aus dass es in den ganzen Fällen die ich aufgezählt hab funktioniert. Müsste man vielleicht genauer anschauen…

Diejenigen, die Samba nur deshalb als freetz-Paket einbauen, um durch Externalisierung Platz im image zu sparen

Dein Ziel ist es den AVM-Samba auszulagern? Dann trag die Datei bei external unter "own files ein"

Diejenigen, die nur Kleinigkeiten am AVM-Samba stören

Dafür wäre ein Erweiterungspackage gut

Überhaupt habe ich nie verstanden, wozu freetz-samba einen nutzlosen Zusatzbenutzer anlegt, der dieselben Rechte hat wie der vorhandene.

Das bereitet nur Probleme wenn man keine Ahnung von Linux-Berechtigungen hat. Mein Tip: formatier den Stick mit FAT, da brauchst du sowas nicht ;-)

Der root-Benutzer hingegen macht Sinn, weil der so nicht vorhanden/aktiv ist.

Per root über Samba anmelden? Mir fehlen echt die Buchstaben

Die AVM-Konfiguration wird zuerst in /var/tmp und dann in /var gesucht, …

Sinnfrei. /tmp ist ein Link nach /var/tmp.
Es ging mir mehr um die ctlmgr_ctl Befehle die auf keinen Fall überall funktionieren können weil die Konfig nich überall an der gleichen Stelle ist

perl unterstützt mächtigere regulä…

prerequisites? Wartest du den Patch später wenn es von Seiten AVM Änderungen gibt?

Der ist alles andere als stabil. Verzeih mir, aber genau genommen ist er Schrott

Ich behaupte (auch ohne Begründung) das Gegenteil

Wieviele Nutzer legen wirklich einen WINS an oder brauchen unbedingt einen anderen NetBIOS-Namen als FRITZ?

Der gleiche Netbios Name für jeder meiner Fritzboxen wäre schon etwas unpraktisch

comment:6 Geändert vor 5 Jahren durch SpaceRat

Ein bißchen Background zur Arbeitsweise meines Patches für diejenigen, die sich nicht die veränderten Dateien komplett durchlesen wollen:

  1. Anstatt AVMs samba_control und samba_config_gen zu entfernen, wird AVMs samba_control in samba_control2 umbenannt und daraus alle Funktionen (Inkl. Passwort-Verschlüsselung!) außer der reinen Konfiguration gestripped.
  2. Freetz' samba_control bleibt unverändert
  3. rc.samba ruft vor samba_conf die umbenannte AVM samba_control, also samba_control2, auf
  4. samba_conf liest die von AVMs samba_config_gen erstellte smb.conf ein, wenn es sie findet. Auch wenn es sie nicht findet, kann nichts passieren, denn die AVM-smb.conf wird nicht, wie ich anfangs geplant hatte, Zeile für Zeile übernommen, sondern nur einzelne Werte, die erstens nach wie vor durch Freetz überschrieben werden können und für die es zweitens im Fehlerfall sinnvolle defaults gibt.

Der Großteil der zu erstellenden /mod/etc/samba/smb.conf steht immer noch in samba_conf, er wurde nur teilweise durch sinnvollere Standardwerte ersetzt bzw. an AVMs Version angeglichen.

  1. Die users.map wird nicht mehr aus dem einen Freetz-Samba-User erzeugt, vielmehr werden die Boxuser ausgelesen. Wenn das scheitert (Alte Firmware), wird auf dem System nach dem boxusr80 gesucht (Mittelalte Firmware) und als Fallback der ftpuser genutzt (Ganz alte Firmware).

Diesen Benutzern wird noch als allererstes der ggf. konfigurierte root-User vorangestellt.

  1. Die Passwörter werden ebenfalls den ausgelesenen Boxusern entnommen. Wenn das scheitert (Alte Firmware), wird die von AVMs samba_config_gen erzeugte smbpasswd.cleartext verwendet, die es nicht mehr verschlüsseln konnte, weil die Funktion dazu aus samba_control2 entfernt wurde.

Das ist weitgehend fail-safe, denn AVM müßte sowohl die Boxuser-Funktionalität komplett umkrempeln, als auch das Verschlüsseln der Passwörter gleichzeitig mit in die samba_config_gen übernehmen, damit das scheitert!
Den Passwörtern wird ggf. noch das Passwort des Freetz-root-Users vorangestellt, wenn konfiguriert.

  1. smbd/nmbd start/stop verbleibt bei Freetz, es wird aber der aktuelle Status des NAS in die FritzBox-Konfiguration geschrieben.
  2. Die AVM-GUI wird nur noch insoweit modifiziert, das der NAS nicht mehr dort aktiviert/deaktiviert werden kann. Vielmehr "folgt" die Checkbox in der AVM GUI dem tatsächlichen Status der Server (Aus Freetz).

Da die AVM-Firmware bei jeder für das NAS relevanten Änderung die samba_control aufruft und die Freetz-samba_control keine Parameter auswertet, sondern immer über rc.samba (um)konfiguriert, bleiben Änderungen auch permanent synchron und werden auch aus der AVM GUI direkt übernommen (Sofern nicht in Freetz überschrieben).

comment:7 als Antwort auf: ↑ 5 Geändert vor 5 Jahren durch SpaceRat

Replying to cuma:

Okay, du gehst also nur davon aus dass es in den ganzen Fällen die ich aufgezählt hab funktioniert. Müsste man vielleicht genauer anschauen…

Ja, behaupte ich :)

Diejenigen, die Samba nur deshalb als freetz-Paket einbauen, um durch Externalisierung Platz im image zu sparen

Dein Ziel ist es den AVM-Samba auszulagern? Dann trag die Datei bei external unter "own files ein"

Das reicht nicht, da der AVM-Samba meines Wissens keinen nmbd startet.

Überhaupt habe ich nie verstanden, wozu freetz-samba einen nutzlosen Zusatzbenutzer anlegt, der dieselben Rechte hat wie der vorhandene.

Das bereitet nur Probleme wenn man keine Ahnung von Linux-Berechtigungen hat. Mein Tip: formatier den Stick mit FAT, da brauchst du sowas nicht ;-)

Ich habe Ahnung von Linux-Berechtigungen.
Gerade deshalb bleibt die Frage, wieso man nicht einfach den vorhandenen ftpuser verwendet, sondern einen neuen anlegt.

Der root-Benutzer hingegen macht Sinn, weil der so nicht vorhanden/aktiv ist.

Per root über Samba anmelden? Mir fehlen echt die Buchstaben

Mußt Du ja nicht nutzen :)

Die AVM-Konfiguration wird zuerst in /var/tmp und dann in /var gesucht, …

Sinnfrei. /tmp ist ein Link nach /var/tmp.

Nicht sinnfrei.
Auf der 7570 war die Konfiguration allein unter /var zu finden, nicht aber unter /var/tmp

Es ging mir mehr um die ctlmgr_ctl Befehle die auf keinen Fall überall funktionieren können weil die Konfig nich überall an der gleichen Stelle ist

Das stört nicht.
Es gibt wie gesagt sinnvolle defaults und fallbacks, wenn die Konfiguration an Stelle x nicht gefunden wurde. Wenn es keine Boxuser gibt, dann werden eben auch keine verwendet, so einfach ist das.

perl unterstützt mächtigere regulä…

prerequisites?

Schau einfach mal in den vorhandenen Patches nach. 401_remove_ftpd.sh verwendet auch perl.
Perl zum Patchen zu verwenden hat nichts damit zu tun, daß auch Perl im Image sein muß.
Für das build environment ist perl bereits Voraussetzung:
http://freetz.org/wiki/help/howtos/common/install#InstallationderbenötigtenPaketeUbuntu

Wartest du den Patch später wenn es von Seiten AVM Änderungen gibt?

Ja

Der ist alles andere als stabil. Verzeih mir, aber genau genommen ist er Schrott

Ich behaupte (auch ohne Begründung) das Gegenteil

Wenn Du auch WebDAV entfernst, fällt Dir vielleicht nicht auf, daß er gegenwärtig fehlerhaft ist.
Der "Remove NAS"-Patch aus 300-remove-samba macht aber definitiv das Web-Interface KAPUTT (Fehler-Popup 'undefined', wenn man die WebDAV-Einstellungen ändern will).

Wieviele Nutzer legen wirklich einen WINS an oder brauchen unbedingt einen anderen NetBIOS-Namen als FRITZ?

Der gleiche Netbios Name für jeder meiner Fritzboxen wäre schon etwas unpraktisch

Es würde auch reichen, z.B. die Zeile
netbios name = FRITZ1
unter "erweitert" einzutragen. Die letzte Zeile gewinnt und die erweiterten Einstellungen werden nach den normalen eingefügt. Das habe ich bisher dazu mißbraucht, um meinen root-User zuzufügen, indem ich user map und smbpasswd dort überschrieben habe.
Aber ich hab's ja in die GUI mit aufgenommen:
Wenn Du einen anderen NetBIOS-Namen willst, dann trägst Du ihn dort ein.
Er wird sogar aus Deiner vorhandenen Konfiguration übernommen werden, wenn Du meinen Patch benutzt.

comment:8 Antwort: Geändert vor 5 Jahren durch cuma

Das reicht nicht, da der AVM-Samba meines Wissens keinen nmbd startet.

Siehst du, im Bereich Samba gibt es sehr viele Unterschiede bei den AVM Versionen. Es reicht nunmal nicht nur davon auszugehen dass es funktioniert. So wie Freetz-Samba im moment ist funktioniert es. Mit deinem Patch funktioniert es auf nur auf einem Bruchteil der ganzen Boxen.

$ grep nmbd *7490* -r
Übereinstimmungen in Binärdatei FRITZ.Box_7490.113.05.57/lib/libsamba.so.
FRITZ.Box_7490.113.05.57/etc/samba_control:	termforcedwait 3 nmbd
FRITZ.Box_7490.113.05.57/bin/prepare_fwupgrade:PROCESSES="inetd capiotcp_server pbd faxd telefon dtrace printserv smbd nmbd"
FRITZ.Box_7490.113.05.57/bin/inetdctl:		/sbin/nmbd
FRITZ.Box_7490.113.05.57/bin/inetdctl:		killall nmbd
FRITZ.Box_7490.113.05.57/bin/inetdctl:#	grep -v nmbd $INETD_CONFIG_TMP >$INETD_CONFIG_TMP2
FRITZ.Box_7490.113.05.57/bin/inetdctl:#		if [ -x /sbin/nmbd ] ; then
FRITZ.Box_7490.113.05.57/bin/inetdctl:#			  echo "137 dgram udp wait.1 root /sbin/nmbd nmbd" >>$INETD_CONFIG_TMP
FRITZ.Box_7490.113.05.57/bin/inetdctl:#			  echo "138 dgram udp wait.1 root /sbin/nmbd nmbd" >>$INETD_CONFIG_TMP
Übereinstimmungen in Binärdatei FRITZ.Box_7490.113.05.57/sbin/nmbd.
^C

Ich vermute es würde so ablaufen: Falls es so eingecheckt werden würde wärest du zufrieden; und tschüss. Wenn dann nach und nach ein Ticket nach dem anderen erstellt wird kann sich jemand anderes darum kümmern der sich zuerst mal in die Logik einarbeiten muss und gleich noch Perl - die Frage ist dann "wer"? - Da wäre eine eigenständiges Package als Erweiterung zum AVM-Samba einfacher. Dir geht es ja nicht darum die Dateien smbd etc zu ersetzen, sondern nur die Konfiguration zu erweitern

Das stört nicht. Es gibt wie gesagt sinnvolle defaults und fallbacks, wenn die Konfiguration an Stelle x nicht gefunden wurde. Wenn es keine Boxuser gibt, dann werden eben auch keine verwendet, so einfach ist das.

Auf anderen Firmware-Versionen musst du ANDERE ctlmgr_ctl Befehlt nutzen um das GLEICHE zu erreichen da diese Befehle vom Speicherort abhängen. Anfangs war das meiste in der ar7

Wenn Du auch WebDAV entfernst, fällt Dir vielleicht nicht auf, daß er gegenwärtig fehlerhaft ist. Der "Remove NAS"-Patch aus 300-remove-samba macht aber definitiv das Web-Interface KAPUTT (Fehler-Popup 'undefined', wenn man die WebDAV-Einstellungen ändern will).

Hab ich keine Lust dazu. Mach am besten dazu ein Ticket auf mit GENAUER nachvollziehbarer Beschreibung. Also WAS man WO klick nachdem XYZ ausgewählt wurde und WELCHE Patches ausgewählt sind etc - optimal ein Patch dazu der den Fehler behebt

comment:9 Antwort: Geändert vor 5 Jahren durch SpaceRat

Weil es ja bestritten wird, daß eine Überarbeitung nicht nur sinnvoll, sondern notwendig ist:

Übersicht der Fehler und Unzulänglichkeiten im aktuellen Samba-Paket

  1. Der Patch zum Entfernen der NAS-Option aus der AVM GUI ist fehlerhaft (Fehlermeldungen im verbleibenden Rest)
  2. In samba.cgi heißt eine Option "Bevorzugter Master". Tatsächlich wird aber nicht die Option "preferred master" gesetzt, sondern der "local master".
  3. Bei der Definition der Freigaben werden die Optionen durch Kommata getrennt. Kommata können aber auch innerhalb der Werte einer Option vorkommen, z.B. "valid users = user1, user2". Meine Fassung verwendet den senkrechten Strich | als Trennzeichen.
  4. security = share verursacht Probleme mit Windows-Clients und sollte daher nicht auch noch über die GUI angebiedert werden. Wer's unbedingt braucht, kann es immer noch unter "erweitert" einstellen.
  5. Es wird ein Duplikat des schon vorhandenen ftpusers angelegt. Dieser ist aber nicht identisch mit dem richtigen ftpuser, so daß es zu Rechtequerelen kommt, wenn einerseits der echte ftpuser über AVMs ftpd und andererseits der falsche ftpuser über freetz-samba verwendet wird.
    Dieser falsche ftpuser hat schon immer zu Problemen geführt, z.B.
    http://www.ip-phone-forum.de/showthread.php?t=187572
    und gehört gekickt.
  6. Standard-Freigaben bzw. SAMBA_AVM_SHARES macht etwas, das mit der Bezeichnung gar nichts zu tun hat.
    Die AVM-Standard-Freigabe heißt FRITZ.NAS (In neueren Firmwares optional änderbar) und gibt /var/media/ftp frei. Die "Standard-Freigaben" benannte Option legt wild Freigaben für alle Unterverzeichnisse in /var/media/ftp an. Das ist irreführend.
    Meine Fassung nutzt diese Einstellung dafür, festzulegen, ob die tatsächliche Standard-Freigabe aus der Konfiguration entfernt wird oder nicht.

Ich bin der Überzeugung, daß sich Samba erst durch diesen Patch so verhält, wie es ein unbefangener (Also nicht an das bisherige Verhalten gewöhnter) User auf den ersten Blick erwarten würde:
Kooperativ, kompatibel, out-of-the-box wie AVMs Samba arbeitend und gleichzeitig flexibel konfigurierbar.

comment:10 als Antwort auf: ↑ 8 Geändert vor 5 Jahren durch SpaceRat

Replying to cuma:

Das reicht nicht, da der AVM-Samba meines Wissens keinen nmbd startet.

Siehst du, im Bereich Samba gibt es sehr viele Unterschiede bei den AVM Versionen. Es reicht nunmal nicht nur davon auszugehen dass es funktioniert. So wie Freetz-Samba im moment ist funktioniert es. Mit deinem Patch funktioniert es auf nur auf einem Bruchteil der ganzen Boxen.

Es funktioniert derzeit nicht. Das AVM-Web-Interface ist danach kaputt, das schon mal als Minimum.
Und zweiteres ist einfach nur eine Behauptung. Samba verhält sich mit meinem Patch in den Grundzügen genauso wie vorher auch. Selbst wenn alle Konfigurationsübernahmeversuche scheitern, kommt eine sinnvolle Konfiguration raus.

Ich vermute es würde so ablaufen: Falls es so eingecheckt werden würde wärest du zufrieden; und tschüss. Wenn dann nach und nach ein Ticket nach dem anderen erstellt wird kann sich jemand anderes darum kümmern der sich zuerst mal in die Logik einarbeiten muss und gleich noch Perl

Ich frage mich, was Du mit Perl hast.
Es wird ein einziges Mal im Patch verwendet und dort ist Perl auf jeden Fall verfügbar, es wird eh zum Bauen von Freetz benötigt. s.o.
Ich habe momentan nicht einmal selber Perl im Image.

  • die Frage ist dann "wer"? - Da wäre eine eigenständiges Package als Erweiterung zum AVM-Samba einfacher. Dir geht es ja nicht darum die Dateien smbd etc zu ersetzen, sondern nur die Konfiguration zu erweitern

Warum soll ich einen Audi Q7 zum Fiat Panda abrüsten?
Dein Vorschlag hätte minimalen Nutzen bei maximalem Aufwand (Die Variante würde ja wirklich nur dann was nutzen, wenn man AVMs Samba drinläßt), während die eh schon fertige jedem was bringt: Freetz-Samba kann GENAUSO benutzt werden wie bisher auch (Mit korrigiertem ftpuser), aber auch genauso gut zum moderaten Umkonfigurieren der AVM-Samba-Konfiguration benutzt werden.

Wenn Du auch WebDAV entfernst, fällt Dir vielleicht nicht auf, daß er gegenwärtig fehlerhaft ist. Der "Remove NAS"-Patch aus 300-remove-samba macht aber definitiv das Web-Interface KAPUTT (Fehler-Popup 'undefined', wenn man die WebDAV-Einstellungen ändern will).

Hab ich keine Lust dazu. Mach am besten dazu ein Ticket auf mit GENAUER nachvollziehbarer Beschreibung. Also WAS man WO klick nachdem XYZ ausgewählt wurde und WELCHE Patches ausgewählt sind etc - optimal ein Patch dazu der den Fehler behebt

Den greifst Du gerade ohne jegliche Grundlage an.

Begreife es:
Bevor ich den Patch hier vorgestellt habe, habe ich ihn so unangreifbar gemacht, wie möglich, indem ich auch Konfigurationen berücksichtigt habe, die ich an sich für unnötig halte.
Wer bisher mit Freetz-Samba klar kam, kommt es mit meiner Variante immer noch. Aber wer bisher über die Inkonsistenzen (Unterschiedliche ftpuser, keine Boxuser, Macken im Webif) gestolpert ist, der kommt es jetzt AUCH.

comment:11 Antwort: Geändert vor 5 Jahren durch cuma

Es funktioniert derzeit nicht. Das AVM-Web-Interface ist danach kaputt, das schon mal als Minimum.

Mir ist kein Fehler bekannt und es gibt dazu kein offenes Ticket. Vielleicht hat dein Patch etwas kaputt gemacht?

Ich frage mich, was Du mit Perl hast.

Ich hab's mir nicht großartig angeschaut und kann es nicht

Den greifst Du gerade ohne jegliche Grundlage an.

Ich hab nur aufgezählt was man bräuchte um das Problem zu beheben

Begreife es: Bevor ich den Patch hier vorgestellt habe, habe ich ihn so unangreifbar gemacht, wie möglich,

Ich hab lediglich Fragen gestellt von den ich vermute/weiss dass du sie dir noch nicht gestellt hast

comment:12 als Antwort auf: ↑ 11 ; Antwort: Geändert vor 5 Jahren durch SpaceRat

Replying to cuma:

Es funktioniert derzeit nicht. Das AVM-Web-Interface ist danach kaputt, das schon mal als Minimum.

Mir ist kein Fehler bekannt

Was nur beweist, daß wesentlich unausgegorene Patches committed werden.

Vielleicht hat dein Patch etwas kaputt gemacht?

Nein, er hat es repariert.
Fehler vorher da, nachher weg = repariert.

Ich frage mich, was Du mit Perl hast.

Ich hab's mir nicht großartig angeschaut und kann es nicht

Wenn Du Fragen hast, dann stelle sie doch einfach.
perl -0pi -e 's#stop_smbd().*?}\n##s' "${FILESYSTEM_MOD_DIR}/etc/samba_control2"
z.B. sucht einfach nur die Funktion stop_smbd() und löscht sie komplett, aber eben nur diese Funktion, egal ob AVM irgendwann mal Funktionen davor oder dahinter einfügt.
sed kann das nicht zuverlässig, weil es nicht non-greedy suchen kann:
Erst durch den Modifikator "?" wird der Ausdruck
.*} ⇒ beliebig viele beliebige Zeichen bis zur LETZTEN geschlossenen geschweiften Klammer
zu
.*?} ⇒ beliebig viele beliebige Zeichen bis zur NÄCHSTEN geschlossenen geschweiften Klammer

Mit anderen Worten: Ich verwende deshalb perl für das regexp replace, weil es SICHER vor Veränderungen am zu patchenden Code ist.

Den greifst Du gerade ohne jegliche Grundlage an.

Ich hab nur aufgezählt was man bräuchte um das Problem zu beheben

Welches Problem?

Begreife es: Bevor ich den Patch hier vorgestellt habe, habe ich ihn so unangreifbar gemacht, wie möglich,

Ich hab lediglich Fragen gestellt von den ich vermute/weiss dass du sie dir noch nicht gestellt hast

Offensichtlich habe ich mir mehr Fragen gestellt/Gedanken gemacht, als diejenigen, die das AVM-Webif kaputtgepatcht haben. Der Patch kann kein einziges Mal ausprobiert worden sein, der wurde einfach stupide aus dem rauskopiert, der das ganze NAS entfernt (Dann gibt es natürlich auch keinen Rest mehr, in dem er Fehler verursachen könnte).

Ich kann übrigens gut damit leben, den richtigen Patch einfach immer wieder einzuspielen, aber ich war halt der irrigen Ansicht, es gäbe ein Interesse daran, offensichtliche Fehler nicht über Dutzende Versionen hinweg ungefixed zu lassen oder Fehlentwicklungen nicht unnötig zu forcieren, deshalb habe ich ihn hier zur Verfügung gestellt.

Es sollte nicht Sinn der Sache sein, unnötige Fehler im AVM Webinterface durch Patches in Kauf zu nehmen, nur weil man die zerstörten Teile wiederum durch Freetz-Pakete ersetzen kann.
Wenn ich einen Router ohne AVM-Funktionalität hätte haben wollte, dann hätte ich mir einen solchen gekauft. Kostet sogar auch weniger.

comment:13 Antwort: Geändert vor 5 Jahren durch cuma

Verstehe nicht was das mit

  • unausgegorene
  • kaputtgepatcht
  • kein einziges Mal ausprobiert
  • stupide rauskopiert
  • offensichtliche Fehler
  • über Dutzende Versionen hinweg ungefixed
  • Fehlentwicklungen nicht unnötig forcieren
  • unnötige Fehler

sagen willst.
Kann mich nur wieder holen und kopieren was ich in comment:11 schrieb

Mir ist kein Fehler bekannt und es gibt dazu kein offenes Ticket

Da du es nicht geschafft hast einen der ganze, vielen Fehler genauer zu benennen, wird sich daran wohl nichts ändern.

Ansonsten denke ich dass wir beide hier so nicht weiterkommen, und jemand anderes dies besser übernimmt

comment:14 als Antwort auf: ↑ 13 Geändert vor 5 Jahren durch SpaceRat

Replying to cuma:

Da du es nicht geschafft hast einen der ganze, vielen Fehler genauer zu benennen,

http://freetz.org/ticket/2287#comment:9

comment:15 als Antwort auf: ↑ 9 ; Antwort: Geändert vor 5 Jahren durch cuma

Replying to SpaceRat:

Weil es ja bestritten wird, daß eine Überarbeitung nicht nur sinnvoll, sondern notwendig ist:

Übersicht der Fehler und Unzulänglichkeiten im aktuellen Samba-Paket

  1. Der Patch zum Entfernen der NAS-Option aus der AVM GUI ist fehlerhaft (Fehlermeldungen im verbleibenden Rest)

Ich hatte ja schon aufgezählt was nötig wäre dies zu beheben

  1. In samba.cgi heißt eine Option "Bevorzugter Master". Tatsächlich wird aber nicht die Option "preferred master" gesetzt, sondern der "local master".

Das ist Unsinn, lies nochmal nach. Evtl ist das nur ein deinem Patch so

  1. Bei der Definition der Freigaben werden die Optionen durch Kommata getrennt. Kommata können aber auch innerhalb der Werte einer Option vorkommen, z.B. "valid users = user1, user2". Meine Fassung verwendet den senkrechten Strich | als Trennzeichen.

sollte man ändern

  1. security = share verursacht Probleme mit Windows-Clients und sollte daher nicht auch noch über die GUI angebiedert werden. Wer's unbedingt braucht, kann es immer noch unter "erweitert" einstellen.

ENtfernen von Optionen gibt immer Ärger. Ich glaube das hängt vom Betriebssystem und dessen Version ab welches besser ist

  1. Es wird ein Duplikat des schon vorhandenen ftpusers angelegt. Dieser ist aber nicht identisch mit dem richtigen ftpuser, so daß es zu Rechtequerelen kommt, wenn einerseits der echte ftpuser über AVMs ftpd und andererseits der falsche ftpuser über freetz-samba verwendet wird.
    Dieser falsche ftpuser hat schon immer zu Problemen geführt, z.B.
    http://www.ip-phone-forum.de/showthread.php?t=187572
    und gehört gekickt.

Samba User ≠ Linux User. Ist es überhaupt möglich ein Duplikat eines Users anzulegeben?

  1. Standard-Freigaben bzw. SAMBA_AVM_SHARES macht etwas, das mit der Bezeichnung gar nichts zu tun hat.
    Die AVM-Standard-Freigabe heißt FRITZ.NAS (In neueren Firmwares optional änderbar) und gibt /var/media/ftp frei. Die "Standard-Freigaben" benannte Option legt wild Freigaben für alle Unterverzeichnisse in /var/media/ftp an. Das ist irreführend.
    Meine Fassung nutzt diese Einstellung dafür, festzulegen, ob die tatsächliche Standard-Freigabe aus der Konfiguration entfernt wird oder nicht.

Das Verhalten der Standardfreigaben IST, die Verzeichnisse von /var/media/ftp freizugeben, da sich darin die gemounteten Partionen befinden. Möglich dass sich dies mittlerweile geändert hat, ich hab nicht nachgeschaut

Ich bin der Überzeugung, daß sich Samba erst durch diesen Patch so verhält, wie es ein unbefangener (Also nicht an das bisherige Verhalten gewöhnter) User auf den ersten Blick erwarten würde:
Kooperativ, kompatibel, out-of-the-box wie AVMs Samba arbeitend und gleichzeitig flexibel konfigurierbar.

Ich will nicht wissen wieviele Menschen davon "überzeugt" waren, dass Kolumbus vom Rand der Erde runterfallen wird

comment:16 als Antwort auf: ↑ 15 Geändert vor 5 Jahren durch SpaceRat

Replying to cuma:

Replying to SpaceRat:

Weil es ja bestritten wird, daß eine Überarbeitung nicht nur sinnvoll, sondern notwendig ist:

Übersicht der Fehler und Unzulänglichkeiten im aktuellen Samba-Paket

  1. Der Patch zum Entfernen der NAS-Option aus der AVM GUI ist fehlerhaft (Fehlermeldungen im verbleibenden Rest)

Ich hatte ja schon aufgezählt was nötig wäre dies zu beheben

Und ich weiß es, ich hab's getan.
Mein erster Schritt bei diesem Patch war es, den fehlerhaften einfach nur rauszuwerfen. Und jetzt weiß ich auch, warum Du ihn so hartnäckig verteidigst: Er ist von Dir!

http://freetz.org/changeset/11066/ und diverse folgende.
Jedenfalls habe ich mir erst dann, nachdem ich nun zwar keine Fehlermeldungen, dafür aber wieder eine dysfunktionale Maske vor mir hatte, überlegt, wie man es vielleicht so lösen kann, daß man den Bereich gar nicht umständlich und fehlerträchtig (Immerhin vier Korrekturversuche für den fehlerfreien Patch in nur zwei Monaten) entfernen, sondern sinnvoll nutzen kann.

  1. security = share verursacht Probleme mit Windows-Clients und sollte daher nicht auch noch über die GUI angebiedert werden. Wer's unbedingt braucht, kann es immer noch unter "erweitert" einstellen.

ENtfernen von Optionen gibt immer Ärger. Ich glaube das hängt vom Betriebssystem und dessen Version ab welches besser ist

Nochmal: Da wird gar nichts entfernt. security = share (oder auch security = domain) ist immer noch über die erweiterten Einstellungen möglich. Ich bin lediglich der Ansicht, daß man keine Optionen, die in 99,9% aller Fälle nur Ärger machen und von 0,1% der Benutzer gewünscht werden, exponiert anbieten sollte.
Eine Option, die erweiterte Kenntnisse (… bei der folgenden Fehlersuche …) erfordert und eher ungewöhnliche Ansprüche bedient, gehört nicht zum Anklicken einladend auf die Seite mit den Standardoptionen.

  1. Es wird ein Duplikat des schon vorhandenen ftpusers angelegt. Dieser ist aber nicht identisch mit dem richtigen ftpuser, so daß es zu Rechtequerelen kommt, wenn einerseits der echte ftpuser über AVMs ftpd und andererseits der falsche ftpuser über freetz-samba verwendet wird.
    Dieser falsche ftpuser hat schon immer zu Problemen geführt, z.B.
    http://www.ip-phone-forum.de/showthread.php?t=187572
    und gehört gekickt.

Samba User ≠ Linux User. Ist es überhaupt möglich ein Duplikat eines Users anzulegeben?

Jain. Duplikat ist ungenau:
Es gab in früheren Firmwares einen Systembenutzer namens ftpuser. Der wurde sowohl von AVM als auch von freetz in users.map als Samba-User ftpuser benutzt.

ftpuser = "ftpuser"

Dann hat AVM den Systembenutzer in boxusr80 umbenannt, der aber für AVM immer noch dem Samba-User ftpuser entsprach, also hieß es in AVMs users.map nun:

boxusr80 = "ftpuser"

In Freetz hat man sich das Leben aber einfach gemacht und sich nicht damit abgemüht herauszufinden, ob der Systembenutzer jetzt boxusr80 oder ftpuser heißt, was ganz einfach geht (Auszug aus meiner rc.samba):

	    # Pre-boxuser firmware, use ftpuser ...
	    grep -q boxusr80 /etc/passwd
	    if [ $? -eq 0 ]
	    then
		# ... either named boxusr80 ...
		echo "!boxusr80 = \"ftpuser\"" >> $USERS_MAP
	    else
		# ... or literally ftpuser
		echo "!ftpuser = \"ftpuser\"" >> $USERS_MAP
	    fi

sondern einfach weiterhin in der users.map sturheil ftpuser = "ftpuser" gesetzt.
Und statt das ursächliche Problem zu beheben (Der als Samba-User designierte ftpuser heißt nun im System boxusr80, also greift ftpuser="ftpuser" ins Leere), wurde das Symptom kuriert und einfach durch rc.samba der nun "fehlende" Systemuser ftpuser wieder angelegt:

		modlib_addgroup users
		modlib_adduser ftpuser -G users -D -S -h "/var/media/ftp" -g "ftpuser"

Das vermeide ich, indem ich zuerst nach den neuen, mehreren durchnumerierten Boxusern suche, dann nach boxusr80 und erst schlußendlich ftpuser verwende. Man könnte das Anlegen des freetz-ftpuser notfalls auch wieder in diesen letzten Fallback aufnehmen, damit auch dann nichts schief gehen kann, wenn selbst der ftpuser noch nicht existiert.


  1. Standard-Freigaben bzw. SAMBA_AVM_SHARES macht etwas, das mit der Bezeichnung gar nichts zu tun hat.
    Die AVM-Standard-Freigabe heißt FRITZ.NAS (In neueren Firmwares optional änderbar) und gibt /var/media/ftp frei. Die "Standard-Freigaben" benannte Option legt wild Freigaben für alle Unterverzeichnisse in /var/media/ftp an. Das ist irreführend.
    Meine Fassung nutzt diese Einstellung dafür, festzulegen, ob die tatsächliche Standard-Freigabe aus der Konfiguration entfernt wird oder nicht.

Das Verhalten der Standardfreigaben IST, die Verzeichnisse von /var/media/ftp freizugeben, da sich darin die gemounteten Partionen befinden. Möglich dass sich dies mittlerweile geändert hat, ich hab nicht nachgeschaut

  1. Das erzeugt u.U. unzählige, faktisch überflüssige (Da mit identischen Rechten versehene) Freigaben, da sich unter /var/media/ftp auch unzählige Verzeichnisse befinden können, auf einer FritzBox 7390 sind das mindestens die Verzeichnisse

Bilder, Dokumente, FRITZ, Musik und Videos
und je nach Konfiguration/Hardware-Ausstattung noch
uStor01, Online-Speicher und external

  1. Natürlich kann man es wie Microsoft halten und Fehler sowie unerwartetes Verhalten einfach zum Standard erklären.

Wenn ich aber in einer FritzBox "Standard" lese, dann erwarte ich das Ergebnis, das ich auch standardmäßig (Also mit Standard-Firmware) erhalten würde, also eine Freigabe namens FRITZ.NAS für /var/media/ftp, statt unzähliger für die einzelnen Unterverzeichnisse. Du wirst nicht viele Computerbenutzer finden, die eine andere Definition von Standard haben. Und wenn man den internen Variablennamen "SAMBA_AVM_SHARES" mit berücksichtigt, bleiben davon nur noch die Lernbehinderten/anders Begabten.

Ich bin der Überzeugung, daß sich Samba erst durch diesen Patch so verhält, wie es ein unbefangener (Also nicht an das bisherige Verhalten gewöhnter) User auf den ersten Blick erwarten würde:
Kooperativ, kompatibel, out-of-the-box wie AVMs Samba arbeitend und gleichzeitig flexibel konfigurierbar.

Ich will nicht wissen wieviele Menschen davon "überzeugt" waren, dass Kolumbus vom Rand der Erde runterfallen wird

Jaja. Frauen biegen auch links ab, wenn man rechts sagt, aber das macht das andere Links noch lange nicht zum normalen.

Geändert vor 5 Jahren durch SpaceRat

Optimierter Patch gegen Trunk 11381/11382

comment:17 Geändert vor 5 Jahren durch SpaceRat

Ich habe einen optimierten Patch angehängt.

Die Veränderungen:

  1. Man kann nun via Freetz zwei Benutzer anlegen, einen root-User und den bekannten ftpuser. Der ftpuser wird dabei aus vorhandenen Konfigurationen übernommen bzw. bei Neuinstallationen mit den bekannten defaults angelegt und wenn er im System fehlt auch wieder dort angelegt, also genau wie früher … Der root-Benutzer ist (natürlich) standardmäßig inaktiv.
  2. Die Übernahme der originalen AVM-Benutzer ist optional. Wenn die Option ausgewählt wird, werden diese Benutzer zusätzlich zu den in Freetz definierten angelegt bzw. importiert. D.h. ohne die Option gilt bezüglich der Benutzer das selbe wie vorher.
  3. Es gibt eine Sektion "Einfache Freigaben" mit zwei Punkten: AVM-Freigabe beibehalten und Auto-Freigaben. Die Auto-Freigaben machen das, was bisher die sogenannten "Standard"-Freigaben gemacht haben, die AVM-Freigabe-Option ist selbsterklärend, es wird schlichtweg die von AVM konfigurierte Standardfreigabe entfernt/nicht entfernt. Für beides kann zusätzlich r/o ausgewählt werden.

Wie in der vorherigen Fassung des Patches sind folgende Features unverändert enthalten:

  1. Keine Zerstörung des AVM-Webinterfaces mehr, die "NAS aktiv"-Checkbox folgt einfach nur dem Freetz-smbd-Status
  2. Samba kann als lokaler und/oder Domänen Master Browser ausgewählt werden, dies auch als "bevorzugter" und der OS Level ist wie gehabt konfigurierbar.
  3. Samba kann direkt über die Freetz-GUI umgestellt werden zwischen "kein WINS", "WINS-Client" oder "WINS-Server". Ich hab's eigentlich nur deshalb mit in die GUI genommen, weil man so Fehlkonfiguration mit den zwei unterschiedlichen, aber mutually exclusive Optionen "wins support" und "wins server" vermeiden kann.
  4. Trennzeichen für mehrere Optionen ist der senkrechte Strich |, um auch Optionen mit durch Kommata getrennten Werten nutzen zu können.

Umzukonfigurieren wären demnach bei einem Update nur zwei Dinge:
Wer wirklich die seltsamen sogenannten "Standard"-Freigaben haben will, muß nach dem Update die Häkchen von der "AVM-Freigabe" zu den "Auto-Freigaben" übertragen. Ich hab's nicht über's Herz gebracht, diesen Fehler nur aus Kompatibilitätsgründen mitzuschleppen, sprich die falsch benannten Variablen beizubehalten.
Außerdem müssten unter "Freigaben" die trennenden Kommata in den Optionen durch | ersetzt werden.
Sinnvolle defaults (Also kein eigener Benutzer und Übernahme der AVM-Benutzer) habe ich mit Rücksicht auf "Bestandskunden" vermieden, d.h. die harmonische Koexistenz inkl. Benutzerverwaltung durch die AVM-Firmware (Sofern vorhanden) muß man manuell einstellen.

Zuletzt geändert vor 5 Jahren von SpaceRat (vorher) (Diff)

comment:18 als Antwort auf: ↑ 12 ; Antwort: Geändert vor 5 Jahren durch ralf

Replying to SpaceRat:

perl -0pi -e 's#stop_smbd().*?}\n##s' "${FILESYSTEM_MOD_DIR}/etc/samba_control2"
z.B. sucht einfach nur die Funktion stop_smbd() und löscht sie komplett, aber eben nur diese Funktion, egal ob AVM irgendwann mal Funktionen davor oder dahinter einfügt.
sed kann das nicht zuverlässig, weil es nicht non-greedy suchen kann:
Erst durch den Modifikator "?" wird der Ausdruck
.*} ⇒ beliebig viele beliebige Zeichen bis zur LETZTEN geschlossenen geschweiften Klammer
zu
.*?} ⇒ beliebig viele beliebige Zeichen bis zur NÄCHSTEN geschlossenen geschweiften Klammer

Mit anderen Worten: Ich verwende deshalb perl für das regexp replace, weil es SICHER vor Veränderungen am zu patchenden Code ist.

Mit sed kann man das so machen:

sed -i -e '/stop_smbd()/,/^}$/d'"${FILESYSTEM_MOD_DIR}/etc/samba_control2

Dabei ist sogar zusätzlich noch der Fall berücksichtigt, dass in der Funktion ein '}' vorkommen könnte, solange es nicht am Anfang der Zeile steht.

Replying to SpaceRat:

Und statt das ursächliche Problem zu beheben (Der als Samba-User designierte ftpuser heißt nun im System boxusr80, also greift ftpuser="ftpuser" ins Leere), wurde das Symptom kuriert und einfach durch rc.samba der nun "fehlende" Systemuser ftpuser wieder angelegt

Das sollte auf jeden Fall geändert werden.

comment:19 als Antwort auf: ↑ 18 Geändert vor 5 Jahren durch SpaceRat

Replying to ralf:

Replying to SpaceRat:

perl -0pi -e 's#stop_smbd().*?}\n##s' "${FILESYSTEM_MOD_DIR}/etc/samba_control2"
z.B. sucht einfach nur die Funktion stop_smbd() und löscht sie komplett, aber eben nur diese Funktion, egal ob AVM irgendwann mal Funktionen davor oder dahinter einfügt.
sed kann das nicht zuverlässig, weil es nicht non-greedy suchen kann:
Erst durch den Modifikator "?" wird der Ausdruck
.*} ⇒ beliebig viele beliebige Zeichen bis zur LETZTEN geschlossenen geschweiften Klammer
zu
.*?} ⇒ beliebig viele beliebige Zeichen bis zur NÄCHSTEN geschlossenen geschweiften Klammer

Mit anderen Worten: Ich verwende deshalb perl für das regexp replace, weil es SICHER vor Veränderungen am zu patchenden Code ist.

Mit sed kann man das so machen:

sed -i -e '/stop_smbd()/,/^}$/d'"${FILESYSTEM_MOD_DIR}/etc/samba_control2

Dabei ist sogar zusätzlich noch der Fall berücksichtigt, dass in der Funktion ein '}' vorkommen könnte, solange es nicht am Anfang der Zeile steht.

Jain. Das hätte ich in Perl natürlich auch noch zusätzlich machen können. Das geht dann aber in die Hose, wenn da versehentlich ein Leerzeichen oder Tab davor steht.
Wäre natürlich unsauber indented, aber kann ja durchaus sein, ist ja kein Python ;)

Replying to SpaceRat:

Und statt das ursächliche Problem zu beheben (Der als Samba-User designierte ftpuser heißt nun im System boxusr80, also greift ftpuser="ftpuser" ins Leere), wurde das Symptom kuriert und einfach durch rc.samba der nun "fehlende" Systemuser ftpuser wieder angelegt

Das sollte auf jeden Fall geändert werden.

Hab ich mir jetzt geschenkt. Wird ja anscheinend so wie es ist geliebt. Ich hatte auch mal erwägt, im Patch den SAMBA_SYSTEMUSER Boxuser automatisch von "ftpuser" in "boxusr80" zu ändern, wenn der boxusr80 existiert, aber irgendwie beißt sich das dann wieder mit dem Anlegen eines Benutzers in Freetz:
Irgendwann wird aus einem Bug eben ein Feature … den echten "ftpuser" dürfte eigentlich keiner mehr haben, oder verwendet jemand ernsthaft so alte Firmwares als Grundlage?
Und einen Benutzer zufügen kann Freetz ja nur, weil es den ftpuser als Systemuser längst nicht mehr gibt …

comment:20 Antworten: Geändert vor 5 Jahren durch cuma

Dabei ist sogar zusätzlich noch der Fall berücksichtigt, dass in der Funktion ein '}' vorkommen könnte, solange es nicht am Anfang der Zeile steht.

Vielleicht magst du mod_del_area noch optimieren ralf?

Das sollte auf jeden Fall geändert werden.

Hast du geschaut ob stimmt was SpaceRat schreibt? Ich hab in Erinnerung, dass Oliver das mit der Mapping-Datei von Samba gelöst hatte

Wird ja anscheinend so wie es ist geliebt.

Hallo? Das ist das Verhalten vom AVM Samba. Schrieb ich doch oben schon ausführlicher.

oder verwendet jemand ernsthaft so alte Firmwares als Grundlage?

Richtig. Kannst aber gerne einen Patch ausarbeiten, der auf meine 3020 oder 7141 FritzOS 6 bringt

Also nochmal zusammenfassend: Den Samba komplett umkrempeln dass er nur noch auf neueren Boxen funktioniert ist blöd. Du hast ja einiges in Bezug auf alte 04er Firmware nicht beachtet. Fehler im aktuellen Samba beheben dagegen ist prima.
Und nochmal mein Vorschlag: Mach ein Freetz-Webif Package, das einfach zusätzliche Optionen für den AVM-Samba hat. External wäre damit auch möglich. Wenn es gut läuft kann man die beiden ja später immer noch zusammenwerfen.
Da ein Branch geplant ist, sobald AVM alle aktuellen Boxen aktualisiert hat, sind Experimente im moment keine gute Idee

comment:21 als Antwort auf: ↑ 20 Geändert vor 5 Jahren durch SpaceRat

Replying to cuma:

Wird ja anscheinend so wie es ist geliebt.

Hallo? Das ist das Verhalten vom AVM Samba. Schrieb ich doch oben schon ausführlicher.

Nein, ist es nicht.

oder verwendet jemand ernsthaft so alte Firmwares als Grundlage?

Richtig. Kannst aber gerne einen Patch ausarbeiten, der auf meine 3020 oder 7141 FritzOS 6 bringt

Es geht um so alte Firmwares, daß der ftpuser auch im System noch ftpuser heißt und nicht boxusr80.
Und das ist seit xx.04.8x der Fall.

Auszug von einer 7170 ohne Freetz-User:

root@fritz:/var/mod/root# cat /etc/passwd
root:x:0:0:root:/mod/root:/bin/sh
nobody:x:100:1000:nobody:/home/nobody:/bin/false
boxusr80:any:1080:0:box user:/home-not-used:/bin/sh

Die AVM-User heißen also schon ewig root, boxusr80 und nobody.


Also nochmal zusammenfassend: Den Samba komplett umkrempeln dass er nur noch auf neueren Boxen funktioniert ist blöd. Du hast ja einiges in Bezug auf alte 04er Firmware nicht beachtet. Fehler im aktuellen Samba beheben dagegen ist prima.

Ich seh's langsam nicht mehr ein, meine Zeit mit jemandem zu verplempern, der entweder zu unhöflich ist, Sachen zu lesen bevor er drauf antwortet oder aber zu blöd, es zu verstehen.
Ich habe lang und breit erklärt, wie meine gepatchten Scripts arbeiten, ich werd's nicht noch einmal wiederholen.
Da ist patch -p0 < Config.patch irgendwann einfach sinniger.

Und nochmal mein Vorschlag: Mach ein Freetz-Webif Package, das einfach zusätzliche Optionen für den AVM-Samba hat. External wäre damit auch möglich. Wenn es gut läuft kann man die beiden ja später immer noch zusammenwerfen.
Da ein Branch geplant ist, sobald AVM alle aktuellen Boxen aktualisiert hat, sind Experimente im moment keine gute Idee

Richtig. In einen Branch gehört unbedingt eine fehlerhafte Version.


Sollte irgendjemand, außer Dir, noch konkrete Fragen, Anregungen oder Kritik zu dem Patch haben, kann er sich gerne melden, aber wir beide, also die Wand und ich, sind durch.

comment:22 als Antwort auf: ↑ 20 ; Antwort: Geändert vor 5 Jahren durch ralf

Replying to cuma:

Vielleicht magst du mod_del_area noch optimieren ralf?

Daran habe ich auch schon gedacht, aber dort gibt es noch einen Offset zu den Zeilen, und ich habe dafür nichts gefunden.

Das sollte auf jeden Fall geändert werden.

Hast du geschaut ob stimmt was SpaceRat schreibt? Ich hab in Erinnerung, dass Oliver das mit der Mapping-Datei von Samba gelöst hatte

Auf jeden Fall wird immer ein ftpuser angelegt, sofern er noch nicht vorhanden ist. Die Frage ist, wann das sinnvoll ist, also wann der Benutzer sowohl nicht bei AVM vorhanden ist also auch benötigt wird.
Ein Mapping wird nur angelegt, wenn SAMBA_SYSTEMUSER und SAMBA_USER verschieden sind.
Vermutlich kann man über das Web-Interface SAMBA_SYSTEMUSER und SAMBA_USER auf boxuser80 ändern. Dann sollte auch der Zugriff mit dem richtigen Benutzer erfolgen.

Möglicherweise kann man eine Option einbauen, mit der man entweder auf der AVM Konfiguration aufbaut oder eine eigene erstellt.

comment:23 als Antwort auf: ↑ 22 ; Antwort: Geändert vor 5 Jahren durch SpaceRat

Replying to ralf:

Auf jeden Fall wird immer ein ftpuser angelegt, sofern er noch nicht vorhanden ist. Die Frage ist, wann das sinnvoll ist, also wann der Benutzer sowohl nicht bei AVM vorhanden ist also auch benötigt wird.
Ein Mapping wird nur angelegt, wenn SAMBA_SYSTEMUSER und SAMBA_USER verschieden sind.
Vermutlich kann man über das Web-Interface SAMBA_SYSTEMUSER und SAMBA_USER auf boxuser80 ändern. Dann sollte auch der Zugriff mit dem richtigen Benutzer erfolgen.

Yepp, das wäre so.
Genau das hat die erste Fassung meines Patches im Prinzip auch gemacht, nur ohne dafür den SAMBA_SYSTEMUSER noch zu benötigen:
Ich habe einfach geguckt, wie der Boxuser wirklich im System heißt (Also boxusr80 oder ftpuser, mit der Bevorzugung von boxusr80, da wahrscheinlicher und der ftpuser auch schon als "Rest" von Freetz existieren kann).
Der SAMBA_USER bräuchte auch gar nicht geändert werden, denn auch in der AVM-Firmware findet ja ein Mapping

boxusr80 = "ftpuser"

über die users.map statt.
Das macht auch mein aktualisierter Patch immer noch so, wenn man die Option aktiviert, die AVM-Benutzer mit zu übernehmen, zusätzlich oder alternativ kann auch ein normaler Benutzer beliebigen Anmeldenamens erzeugt werden, der dann auf den Systembenutzer "ftpuser" gemapped wird, wobei dieser "ftpuser" im System bei Bedarf angelegt wird (Also genau wie vorher).

Möglicherweise kann man eine Option einbauen, mit der man entweder auf der AVM Konfiguration aufbaut oder eine eigene erstellt.

Nicht nur möglicherweise …

comment:24 als Antwort auf: ↑ 23 ; Antwort: Geändert vor 5 Jahren durch pidpid

Hallo SpaceRat

eigentlich ist dein Patch genau das was ich gesucht habe, besten Dank zunächst einmal für deinen hier beschriebenen Aufwand.

Auch die Einwendungen von cuma halte ich für notwendig, grundsätzlich jedoch stimme ich Spacerat zu das dieser Patch

dem User deutlich mehr entgegekommt, als der Standard.

Leider jedoch habe ich folgendes Problem, mit dem Patch:

Basis ist eine Fritzbox 7270 V3 komplett zurückgesetzt auf Werkszustand (mit AVM Recoverimage)
auf Version 05.53 und/oder upgedatet auf Laborversion 06.01)

Ich habe deinen Patch mit beiden AVM FW Versionen getestet, beide mit gleichen Problemen.

Das ganze führe ich mit der aktuellen trunk Version durch (Revision 11509)
Diese Revision sollte lt. Beschreibung kompatibel zu den o.g. AVM FW sein.

Zur Patch Version 0.1
hier nur der Hinweis auf eine Fehlermeldung beim entpacken der ersten Patchversion,
deshalb konnte diese von mir auch nicht getestet werden.
Fehlermeldung hier war: malformed Patch at line 60: Index: make/samba/files/root/usr/lib/cgi-bin/samba.cgi
ich habe dies nicht weiterverfolgt denn:

Das entpacken der Patch Version 0.2 ging ohne Probleme, ein entsprechendes Image konnte erstellt werden
(sowohl für AVM FW 05.53 als auch für die Labor Version 06.01)

Als einziges zusätzliches Packet wurde von mir Samba (mit nmbd) -V 3.0.37 ausgewählt
(eigentlich brauche ich nur die Funktion des nmbd) denn ich bin mit der AVM Samba Version soweit zufrieden.
(Leider lässt sich der nmbd aber nur im Packet mit smbd der Freetz auswählen).
Zusätzlich wurde nur der von dir bereitgestellte Patch (v0.2) installiert.

Auswirkung nach den Freetzen der Box:

vor dem freetzen ist der AVM Samba von windows Clients übers Netz erreichbar.
nach dem freetzen kann der Freetz Samba nicht gestartet werden (zustand: gestoppt).
Der nmbd Server der Freetz läuft (zumindest wird der Server unter Dienste als gestartet angezeigt).

Der smbd Dienst wird wohl versucht zu starten, aber sofort wieder als gestoppt angezeigt
Auch mehrmaliges manuelles Starten des smbd hilft nicht weiter (er wird sofort wieder als gestoppt angezeigt)

Folgende Fehlermendung nach den Starten der beiden Dienste habe ich noch gefunden:

rm: can´t remove ´/var/tmp/smbpasswd.cleartext´: No such directory
Starting Samba-smbd … done

Der NAS Speicher an der AVM fritzbox wird weiterhin als aktiv angezeigt.
Das Kästchen mit dem Haken ist nun jedoch nun ohne Funktion :-( es kann nun weder deaktiviert noch neu aktiviert werden)
Hier fehlt nun wohl der Link im AVM Menue (wohl eine weitere Baustelle im Zusammenhang mit dem Patch, ggf auch die gleiche Ursache)

Es ist nun weder der AVM Samba noch der Freetz Samba online

Was ich mind. benötige ist:
den nmbd Server der Freetz, und den AVM Samba File server oder
den nmbd Server der Freetz, und den Samba File Servver der Freetz mit dem Berechtigungskonzept der AVM Fritzbox.

Ich habe das Szenario nun mehrfachst mit der 7270 durchgespielt, leider ist das oben dargestellte Fehlerbild zu 100 % repruduzierbar
oder aber ich mache ein und den selben Fehler immer wieder (welchen?)

Ich hoffe du kannst weiterhelfen.
Besten Dank vorab PID

comment:25 als Antwort auf: ↑ 24 Geändert vor 5 Jahren durch SpaceRat

Replying to pidpid:

eigentlich ist dein Patch genau das was ich gesucht habe, besten Dank zunächst einmal für deinen hier beschriebenen Aufwand.

Bitteschön.
Freut mich, wenn wenigstens einer es zu schätzen weiß.

Das ganze führe ich mit der aktuellen trunk Version durch (Revision 11509)
Diese Revision sollte lt. Beschreibung kompatibel zu den o.g. AVM FW sein.

Ich habe zuletzt noch die Revision 11506 mit diesem Patch gebaut, erfolgreich.

bereitgestellte Patch (v0.2) installiert.
Folgende Fehlermendung nach den Starten der beiden Dienste habe ich noch gefunden:
rm: can´t remove ´/var/tmp/smbpasswd.cleartext´: No such directory
Starting Samba-smbd … done

Diese Meldung alleine wäre irrelevant, da ja nichts passiert ist als der Versuch, eine nicht vorhandene Datei zu löschen.

Der NAS Speicher an der AVM fritzbox wird weiterhin als aktiv angezeigt.
Das Kästchen mit dem Haken ist nun jedoch nun ohne Funktion :-( es kann nun weder deaktiviert noch neu aktiviert werden)
Hier fehlt nun wohl der Link im AVM Menue (wohl eine weitere Baustelle im Zusammenhang mit dem Patch, ggf auch die gleiche Ursache)

Works as designed.
Der Freetz-Originalpatch hat diesen Teil ja komplett, aber fehlerhaft, herausgeschnipselt. Meine Überlegung war, daß es völlig ausreichend ist, das Ein- und Ausschalten des NAS an dieser Stelle zu unterbinden (Erfolgt in Freetz und kann - zumindest bisher - auch nicht durch Freetz' samba_control erfolgen).

Ich habe allerdings in diesem Zusammenhang eine andere Baustelle, denn die Status-Anzeige in AVMs NAS-Konfiguration funktioniert noch nicht zuverlässig.

Was ich mind. benötige ist:
den nmbd Server der Freetz, und den AVM Samba File server oder
den nmbd Server der Freetz, und den Samba File Servver der Freetz mit dem Berechtigungskonzept der AVM Fritzbox.

Genau das sollte der Patch eigentlich auch leisten.

Ich habe das Szenario nun mehrfachst mit der 7270 durchgespielt, leider ist das oben dargestellte Fehlerbild zu 100 % repruduzierbar
oder aber ich mache ein und den selben Fehler immer wieder (welchen?)

Ich werd's mir mal ansehen und brainstormen.
Bisher fehlt es mir aber an einer zünftigen Idee.

Vielleicht kannst Du mir ja mal Deine Freetz-.config zukommen lassen.

Zuletzt geändert vor 5 Jahren von SpaceRat (vorher) (Diff)

comment:26 Antwort: Geändert vor 5 Jahren durch pidpid

hallo

wie du erkennen kannnst bin ich hier neu,
wie kann ich dir die .config zukommen lassen ?

+ per Mail - dann brauche ich Deine Mailadresse ?
+ als Datei Anhang hier im Forum - habe die Funktion nicht gefunden Dateien hier anzuhängen
+ als persönliche Nachrcht - finde die Funktion nicht wie ich einem andern Mitglied diese zukommen lassen kann.

Ich will eigentlich vermeiden hier nun alle Zeilen der .config in diesen Post zu kopieren,
zumal ich dir gerne auch Beide .config zukommen lassen möchte (die für die 5er FW und die für die 6er FW)

gruss pid

comment:27 als Antwort auf: ↑ 26 Geändert vor 5 Jahren durch SpaceRat

Replying to pidpid:

wie du erkennen kannnst bin ich hier neu,
wie kann ich dir die .config zukommen lassen ?

Kontaktier mich einfach per Mail:
Ziggy Punkt SpaceRat at gmx Punkt de

comment:28 Geändert vor 5 Jahren durch pidpid

habe dir die Dateien zugesandt

Geändert vor 5 Jahren durch SpaceRat

Neue Version: Kleine Verbesserungen, insbesondere im Zusammenspiel mit Firmwares xxx.04.8x

comment:29 Geändert vor 5 Jahren durch SpaceRat

Auch wenn sich bisher anscheinend nur einer die "Mühe" gemacht hat, den Patch auszuprobieren, stelle ich hiermit eine aktualisierte Fassung online.

Änderungen: Bei den Boxen ohne mehrere Boxuser (Also xxx.04.8x) wird das ftpuser-Passwort jetzt (deutlich) zuverlässiger übernommen/beibehalten.

Hintergrund: AVMs Samba erstellt nicht immer wenn wir es bräuchten eine smbpasswd.cleartext
Deshalb wird jetzt das bereits verschlüsselte AVM-Passwort so lange weiterbenutzt, bis seitens AVM eine neue smbpasswd.cleartext angelegt wird (z.B. bei Passwort-Änderung).

Da das cleartext-Passwort wie erwähnt nicht immer angelegt wird, kann es unter älteren Firmwares nötig sein, das Passwort nach dem freetzen zumindest einmalig im AVM-Interface zu ändern, bevor Freetz es übernehmen kann.
Sollte dies der Fall sein, erfolgt eine entsprechende Meldung beim Start des smbd.

comment:30 Geändert vor 5 Jahren durch cuma

Mach es als eigenständiges Webif-Package damit es in den Trunk kann, dann können es mehr ausprobieren

Geändert vor 5 Jahren durch SpaceRat

Fix creating the ftpuser / Fix for missing system user "nobody"

comment:31 Antwort: Geändert vor 5 Jahren durch agowa

Deine Freetz Oberfläche gefällt mir sehr gut.
Bei der AVM Oberfläche jedoch, habe ich nur die Option 'Heimnetzfreigabe', darin kann ich jedoch nur den Namen und die Arbeitsgruppe einstellen.

Den Fehler von pidpid kann ich nur bestätigen, ich verwende die freetz-devel-11538M und habe den gleichen Fehler, wie zu erwarten wahr.
Außerdem sollte ich erwähnen, dass ich vor dem Flashen keinen Werksreset gemacht habe.

Habe ich dich richtig verstanden, wenn bei deiner Version die Passwörter verschlüsselt gespeichert werden?
Wenn dem so ist, wäre das ja schon eine teil Lösung zu meinem Ticket http://freetz.org/ticket/2325

Zuletzt geändert vor 5 Jahren von agowa (vorher) (Diff)

comment:32 als Antwort auf: ↑ 31 ; Antwort: Geändert vor 5 Jahren durch SpaceRat

Replying to agowa:

Zuerst einmal wäre es sinnvoll zu wissen, welche FritzBox mit welcher Firmware und welcher Version meines Patches Du geflashed hast.

Deine Freetz Oberfläche gefällt mir sehr gut.
Bei der AVM Oberfläche jedoch, habe ich nur die Option 'Heimnetzfreigabe', darin kann ich jedoch nur den Namen und die Arbeitsgruppe einstellen.

Mein Patch fügt der AVM-Oberfläche weder Optionen zu, noch entfernt es welche.
Es wird lediglich der Haken zum Starten/Stoppen des NAS in der AVM-Oberfläche von Firmwares 05.XX/06.XX deaktiviert, da das Starten/Stoppen durch Freetz erfolgt.

Und unter "Heimnetz / Speicher (NAS)" kannst Du tatsächlich nur den Namen und die Arbeitsgruppe einstellen, die Konfiguration der Benutzer erfolgt unter "System / FRITZBox-Benutzer / Benutzer", wie auch auf der Seite "Heimnetz / Speicher (NAS)" erklärt wird:

Für den Zugang auf die FRITZBox aus dem Internet können Sie FRITZBox-Benutzer einrichten und ihnen Rechte für den Zugriff auf Speicher (NAS)-Inhalte geben. Die Benutzer richten Sie im Bereich "System / FRITZBox-Benutzer / Benutzer" ein.

Den Fehler von pidpid kann ich nur bestätigen, ich verwende die freetz-devel-11538M und habe den gleichen Fehler, wie zu erwarten wahr.


Eigentlich war es nicht zu erwarten:
Der smbd startete bei pidpid deshalb nicht, weil ihm der Systembenutzer "nobody" fehlte, ein Problem, das ich in Version 0.4 meines Patches behoben habe.

Habe ich dich richtig verstanden, wenn bei deiner Version die Passwörter verschlüsselt gespeichert werden?
Wenn dem so ist, wäre das ja schon eine teil Lösung zu meinem Ticket http://freetz.org/ticket/2325


Mein Patch verhält sich, bis auf die Übernahme der User, genauso wie es Freetz bisher auch getan hat.
Die Passwörter für die Samba-User wurden schon immer in eine smbpasswd.cleartext gepackt, dann nach /var/mod/etc/smbpasswd verschlüsselt und die smbpasswd.cleartext danach gelöscht.

Das Passwort für ggf. in der Freetz-Oberfläche angelegte Benutzer, also den "Freetz-ftpuser" und meinen root, liegen tatsächlich weiterhin unverschlüsselt im der Freetz-Konfiguration, irgendwoher muß man sie ja während des Konfigurationsvorganges her holen.

Ein Sicherheitsrisiko sehe ich darin übrigens nicht, man kann auf der Shell der FritzBox (Als root) sowieso sämtliche Passwörter im Klartext auslesen, also Internet-Zugangsdaten, VoIP-Anmeldeinformationen, DynDNS-Anmeldungen, Boxuser, …

Einen Unterschied macht das nur bei den exportierten Einstellungen:

Die AVM-Einstellungen sind dann verschlüsselt (Daher das Passwort beim Sichern der Einstellungen), die von Freetz kann man aus der Sicherung auslesen.

Vermeiden kann man das eigentlich nur, indem man Paket für Paket so umstellt, daß nicht das Klartext-Passwort in die Konfiguration gespeichert wird, sondern der von dem Paket erwartete Hash. Bei Samba sind das allerdings schon zwei je Passwort, von denen beide - je nach verwendetem Client - zum Einsatz kommen. Der eine davon ist zudem eh schon als unsicher zu betrachten.

Letztendlich wird man nichts daran ändern können:
Ein System, auf das physisch zugegriffen werden kann oder auf das man root-Zugriff erlangt, ist nicht sicher zu machen.

comment:33 als Antwort auf: ↑ 32 ; Antwort: Geändert vor 5 Jahren durch agowa

Replying to SpaceRat:

Den Fehler von pidpid kann ich nur bestätigen, ich verwende die freetz-devel-11538M und habe den gleichen Fehler, wie zu erwarten wahr.

Eigentlich war es nicht zu erwarten:
Der smbd startete bei pidpid deshalb nicht, weil ihm der Systembenutzer "nobody" fehlte, ein Problem, das ich in Version 0.4 meines Patches behoben habe.

Dann muss ich das noch einmal Testen ohne allen anderen Modifikationen. Ich melde mich später noch einmal.

Habe ich dich richtig verstanden, wenn bei deiner Version die Passwörter verschlüsselt gespeichert werden?
Wenn dem so ist, wäre das ja schon eine teil Lösung zu meinem Ticket http://freetz.org/ticket/2325


Letztendlich wird man nichts daran ändern können:
Ein System, auf das physisch zugegriffen werden kann oder auf das man root-Zugriff erlangt, ist nicht sicher zu machen.

Oh, das hatte ich nicht bedacht, aber ein Möglichkeit einzubauen, die Export Datei mit einem Passwort zu verschlüsseln wäre auch eine Option.

comment:34 als Antwort auf: ↑ 33 Geändert vor 5 Jahren durch agowa

Bei mir funktioniert es immer noch nicht, ich habe folgendes gemacht,
Auf dem Building PC

umask 0022
svn co http://svn.freetz.org/trunk freetz-devel
cd freetz-devel
wget http://freetz.org/raw-attachment/ticket/2287/make_freetz-samba_cooperative-0.4.patch
patch -p0 < make_freetz-samba_cooperative-0.4.patch
make menuconfig

Darin habe ich folgendes ausgewählt:

  1. Ansicht auf Experte gestellt
  2. Firmware auf FritzBox Labor gestellt (außerdem die Fritzbox auf 7270v3)
  3. OpenSSH
  4. SAMBA (Version 3.6, auch mit allen Unterpaketen)
  5. Bei Busybox ⇒ Consolen… ⇒ clear
  6. Einstellungen gespeichert

Anschließend den Build ganz normal gestartet mit make gestartet und das Image auf die Box geflasht.

Finden sie darin einen Fehler?

Logfiles und .config hänge ich noch an

Geändert vor 5 Jahren durch agowa

comment:35 Geändert vor 5 Jahren durch SpaceRat

Verwende Samba 3.0.37

Samba 3.3 ist recht verkorkst, außerdem wird für den vollständigen Support der Boxuser mit ALLEN Rechten (Also z.B. per Verzeichnis read/write) noch ein Samba-Patch von AVM benötigt, der nur für 3.0.37 vorliegt.

Ohne diesen Samba-Patch funktioniert mein Samba-Web-Patch natürlich trotzdem (Zumindest mit Samba 3.0.37), allerdings können dann nur die Boxuser an sich übernommen werden, nicht aber deren präzisen Rechte.

comment:36 Geändert vor 5 Jahren durch agowa

Ach so, dann werde ich es später noch einmal mit Samba 3.0 versuchen.

Geändert vor 5 Jahren durch SpaceRat

Patch version 0.6 for a cooperative Freetz-Samba

comment:37 Geändert vor 5 Jahren durch SpaceRat

Aktualisierte Fassung meines Samba-Patches.

Es wurden Kleinigkeiten behoben und als wesentliche Ergänzung ein optionaler, vollständiger Support für "FritzBox-Benutzer" eingebaut.

Daraus ergeben sich in der Praxis folgende Möglichkeiten:
1. - Freetz klassisch
Man kann den Freetz-Samba komplett auf den Freetz-Konfigurationsseiten konfigurieren. Auch der geliebte Freetz-ftpuser (entspricht dem Systembenutzer "ftpuser") kann angelegt werden.
Einstellungen unter Freetz haben immer Vorrang vor den Einstellungen innerhalb der AVM-Oberfläche.
Zusätzlich oder statt des Freetz-ftpuser können die "FritzBox-Benutzer" übernommen werden, bei Firmwares vor 05.XX ist das natürlich auch wieder nur einer, nämlich der AVM-ftpuser (entspricht i.d.R. dem Systembenutzer boxusr80). Tatsächlich übernommen werden dabei der Benutzername (Samba-Anmeldename) und das Passwort, die Benutzer greifen danach auch als jeweils entsprechender boxusrXX zu.
2. - Freetz harmonisch
Man kann den Freetz-Samba, soweit das innerhalb der AVM-Oberfläche geht, dort konfigurieren, d.h. Freigabe-Name, NetBIOS-Name und Arbeitsgruppe können innerhalb der AVM-Oberfläche eingestellt werden und für alles andere werden die AVM-Standardeinstellungen verwendet.
Mit anderen Worten: In jedem Punkt, den ich nicht innerhalb von Freetz konfiguriere, wird sich Samba wie der originale AVM-Samba verhalten.
Auch in diesem Fall lassen sich die FritzBox-Benutzer optional durch Freetz-Samba nutzen oder eben nicht, genau wie bei Punkt 1.
3. - Kompletter AVM-Samba-Ersatz mit Extras
Wird auch mein libavmacl2-Patch aus http://freetz.org/ticket/2331 eingespielt und beim Bauen von Samba die Option "with full AVM FRITZBox users support - HIGHLY EXPERIMENTAL" aktiviert, dann werden nicht nur die FritzBox-Benutzer an sich übernommen, sondern auch deren Zugriffsrechte ganz genau so wie sie unter "System / FRITZBox-Benutzer" vergeben wurden.
Diese Funktion (und nur diese!) erfordert eine Firmware 05.XX bis incl. 06.01, ggf. auch höher, da es unter Firmware 04.XX noch gar keine vergleichbaren Benutzerrechte gab.
Da AVM jederzeit an libavmacl2 rumpfuschen könnte, kann es natürlich sein (muß aber nicht), daß diese Funktion in 06.02 schon wieder nicht mehr geht, dazu ist sie ja auch optional und als HIGHLY EXPERIMENTAL markiert ;)

Und falls jetzt jemand fragt, wozu das Ganze, da könnte ich auch gleich den AVM-Samba nehmen:
a.) Weil ich es kann.
b.) Weil mir die Freetz-Samba-Oberfläche zu widersprüchlich war
c.) Kann der AVM-Samba auch nmbd/WINS-Server/Master-Browser und beliebige, benutzerdefinierbare Konfigurationen? Nein!

Es gibt allerdings auch einen Haken:
Mit Samba 3.3 funktioniert es derzeit nicht, d.h. man muß Samba 3.0.37 auswählen. Bei Samba 3.3.x startet der smbd nicht. Wieso das so ist, habe ich noch nicht herausgefunden (Und auch gar nicht weiter untersucht). Es muß eine Banalität sein, denn der Fehler tritt bereits seit der ursprünglichen Übernahme der AVM-Werte in die smb.conf auf, also irgendeine Einstellung, die unser Samba 3.3.x gar nicht mag.
Wenn jemand meinen Patch mit Samba 3.3.x verwenden möchte, kann er sich gerne bei mir melden, damit wir gemeinsam eine Lösung für das Problem finden. Der dritte Modus (AVM-FRITZBox-Benutzer mit allen Rechten) steht allerdings unter Samba 3.3.x nicht zur Verfügung, da der entsprechende ACL-Patch von AVM nur für Samba 3.0.37 vorliegt.

comment:38 Geändert vor 5 Jahren durch cuma

Machst du das bitte als eigenständiges Webinterface-Package? Es geht dir ja nur darum die Optionen zu erweitern und nicht die BInaries zu ersetzen. Dann könnte jeder nutzen/testen was er möchte

comment:39 Geändert vor 5 Jahren durch SpaceRat

Nochmal:

Es handelt sich nicht um eine alternative Web-Oberfläche. Es werden bestimmt 95% des alten Codes weiterverwendet und lediglich um weitere Funktionen ergänzt bzw. korrigiert.

Und selbst wenn ich die unnötigen Redundanzen in Kauf nehmen wollte (Was ich nicht tun werde, denn zu allen Fehlern, die ich möglicherweise gemacht habe, werde ich nicht auch noch den miesesten hinzufügen, den ein Programmierer machen kann, nämlich identischen Code, der fortan an zwei Stellen parallel gepflegt werden müßte), müßte ich in meinem Patch immer noch das Rausschnippseln der NAS-Funktionen aus der AVM-Firmware unterbinden.

Zudem wird selbstverständlich, wenn die Option "with full AVM FRITZBox users support - HIGHLY EXPERIMENTAL" aktiviert wird, auch eine andere Binary erzeugt.

comment:40 Antwort: Geändert vor 5 Jahren durch cuma

Na, wenn du meinst. So wird es aber niemand testen.

HIGHLY EXPERIMENTAL

Diesen Zusatz verwenden wir für's menuconfig nicht in Freetz

comment:41 als Antwort auf: ↑ 40 Geändert vor 5 Jahren durch SpaceRat

Replying to cuma:

HIGHLY EXPERIMENTAL

Diesen Zusatz verwenden wir für's menuconfig nicht in Freetz

Wie meinen?

Geändert vor 5 Jahren durch SpaceRat

Patch version 0.7 for a cooperative Freetz-Samba

comment:42 Geändert vor 5 Jahren durch SpaceRat

Patch version 0.7 hinzugefügt:

  • Kompatibel mit Freetz svn 11564 und höher
  • Patch aus http://freetz.org/ticket/2331 wird nicht mehr benötigt (Bereits in Freetz enthalten), wenn eine vollständige Unterstützung der AVM-FritzBox-Benutzer eingebaut werden soll.

Geändert vor 5 Jahren durch SpaceRat

Version 0.8 of my Freetz-Samba patch (Fixes Samba >3.0)

comment:43 Geändert vor 5 Jahren durch SpaceRat

Patch version 0.8 hinzugefügt:

  • Nun auch wieder kompatibel mit Samba ungleich 3.0.xx, also z.B. Samba 3.6.22 (FRITZBox-Benutzer lassen sich aber komplett mit allen Rechten nur mit Samba 3.0 verwenden, da für 3.6 kein entsprechender Patch vorliegt)

Geändert vor 5 Jahren durch SpaceRat

Version 0.9 of my Freetz-Samba patch (Add Changelog, fix FritzBox interaction)

comment:44 Geändert vor 5 Jahren durch SpaceRat

Patch version 0.9 hinzugefügt:

  • Problem behoben, daß die Anzeige des Status' für den "Speicher (NAS)" in der AVM-Weboberfläche nicht stimmte. "Speicher (NAS)" wird nun auf aktiv gesetzt, sobald Freetz die Samba-CGI lädt, damit die AVM-seitige Konfiguration auch wirklich erreichbar ist.
  • Freetz-Changelog aktualisiert
  • Keine bekannten Bugs/Nags mehr


Features:

  • * Keine funktionalen Einschränkungen zum 'status quo'

Die Konfiguration ist nach wie vor auch allein über die Freetz-Oberfläche möglich.

  • + Optional vollständige Konfiguration über die AVM-Oberfläche.

Dazu alle Optionen/Felder im Freetz-Interface inaktiv/leer lassen, außer "AVM-Freigabe beibehalten". Jede Option, die nicht innerhalb von Freetz konfiguriert ist, wird mit den AVM-Werten konfiguriert, d.h. es gilt "Freetz vor AVM".

  • + Optionale Übernahme des originalen ftpuser bzw. der FRITZBox-Benutzer

FritzBox-Firmwares mit Firmware-Stand 04.XX haben nur einen ftpuser (= System-Benutzer i.d.R. "boxusr80"), Firmwares ab 05.XX können mehrere benutzerkonfigurierbare "FRITZBox-Benutzer" haben (= System-Benutzer "boxusrXX" mit XX = 10 und höher).

Beide können an Stelle des oder zusätzlich zum Freetz-ftpuser (= System-Benutzer "ftpuser") übernommen werden.

  • + Optional komplette Rechte-Übernahme von den konfigurierten FRITZBox-Benutzern

Schreib- und Leserechte sind für jedes Verzeichnis einzeln einstellbar, nicht freigegebene Verzeichnisse/Dateien sind für den Benutzer auch nicht sichtbar (Echte ACL).

Dieses Feature erfordert einen Patch, der bisher nur für Samba 3.0.37 vorliegt und kann daher nicht mit Samba 3.6.x genutzt werden. Mangels FRITZBox-Benutzern in Firmwares 04.XX ist es auch erst ab FW 05.XX verfügbar und es muß bereits zur Build-Time aktiviert werden, da eine veränderte Samba-Binary (Gegen libavmacl2 ge-linked) erforderlich ist.

  • + Es kann zusätzlich zum Freetz-ftpuser und/oder dem AVM-ftpuser bzw. den FRITZBox-Benutzern auch noch ein root-Account angelegt werden.
  • + Bevorzugter/lokaler/Domain Master Browser einfach per Checkbox (de-)aktivierbar
  • + WINS: inaktiv, Client oder Server per Radio-Button auswählbar

Geändert vor 5 Jahren durch SpaceRat

Samba komplett durch Freetz konfiguriert

Geändert vor 5 Jahren durch SpaceRat

Samba komplett über AVM-Oberfläche konfiguriert, inkl. ACL-Patch, nur der Start/Stop wird durch Freetz geregelt

comment:45 Antwort: Geändert vor 5 Jahren durch er13

Einige Anmerkungen zu der Version 0.9 des Patches, die mir beim schnellen drüberfliegen aufgefallen sind:

  • Bitte keinen unserer Patches verändern (112-avm_smbpasswd.patch). Deine Änderungen bitte klar ersichtlich als einen separaten Patch.
  • Bitte auch keine Leerzeichen anpassen. Diese können bei Bedarf später nachgeschoben werden.
  • AVM-users-cgi.patch wird zwar referenziert, fehlt glaube ich aber in Deinem Patch im Anhang. Die Art und Weise, wie dieser in .mk angewandt wird, ist auch die falsche. Richtig wäre: gar kein Patch, in .cgi selbst dafür if [ "$FREETZ_PACKAGE_SAMBA_AVMUSERS_FULL" = y ]; then ... fi
  • Statt perl -pi ...}} bitte {{{modsed verwenden
  • Alle Kommentare in freetz-Dateien bitte auf Englisch ("AVM Samba-Konfiguration vor unserer, wenn vorhanden")
  • Wo stammt 570-AVM-Users.patch her? AVM, Dir? Kann man es auf samba-3.6 portieren?
  • Wie hast Du es Dir mit Samba-3.6 vorgestellt bzw. den Firmwares, die keine libavmacl2 haben?
  • Kommt noch mehr, wenn es auffällt.

p.s. Und noch was zu Deinem Lebensrhythmus, bitte tue Dir selbst einen Gefallen und schlafe ordentlich. Das Ganze hier ist es nicht Wert, um auf den Schlaf zu verzichten, es sei denn Du arbeitest von USA aus.

comment:46 Geändert vor 5 Jahren durch cuma

@SpaceRat:
Wir hatten es schonmal so, dass man Samba halb im Freetz und halb im AVM-Webif konfigurieren konnte. Das Ergebnis war, dass sich niemand sicher war wo was konfiguriert wird und was Vorrang hat. Außerdem ändert AVM auch mal die Position wo die Daten gespeichert sind.
Deshlab wurde das ganze mehr und mehr zurückgebaut. Die anderen Packages von Freet konfiguriert man auch nicht im Webif von AVM, sonder auf der Seite des Packages
Ich finde als nach wie vor einen getrennten Freetz-Samba und einen AVM-Samba + ein paar zusätzliche Optionen besser

Bei Freetz fehlt übrigens noch eine Benutzerverwaltung (passwd) vielleicht wäre das was für dich.

Beim Anschauen der Screenshots viel mit der exzessive Gebrauch von http://www.deppenbindestrich.de auf

p.s. Und noch was zu Deinem Lebensrhythmus, bitte tue Dir selbst einen Gefallen und schlafe ordentlich.

Hehe, sehr amüsant. Für Mathematiker zwar schwer vorstellbar, aber es soll da draussen sowas wie Wechselschicht geben ;-)

Zuletzt geändert vor 5 Jahren von cuma (vorher) (Diff)

comment:47 als Antwort auf: ↑ 45 Geändert vor 5 Jahren durch SpaceRat

Replying to er13:
Zuerst einmal danke für die ernsthafte Beschäftigung mit dem Patch :)


Einige Anmerkungen zu der Version 0.9 des Patches, die mir beim schnellen drüberfliegen aufgefallen sind:

Ich stell die Reihenfolge mal beim Antworten etwas um, weil es so einfacher zu beantworten ist :)

  • Wo stammt 570-AVM-Users.patch her? AVM, Dir? Kann man es auf samba-3.6 portieren?
  1. Ich habe eine Gesamt-Diff zwischen dem bisherigen Samba 3.0.37 aus Freetz (Samt aller Patches) und dem AVM-Quellcode aus GPL-samba.tar.gz (Ebenfalls Samba 3.0.37, in den jeweiligen AVM-Quellcode-Paketen zu allen Firmwares enthalten) gebildet.
  2. Daraus habe ich alle Differenzen entfernt, die lediglich einen der in Freetz enthaltenen Patches wieder rückgängig machen würden.
  3. Die verbliebenen Differenzen habe ich in zwei Änderungen aufgedröselt:
  • IPv6-Support
  • FRITZBox-Benutzer-ACL


  • Bitte keinen unserer Patches verändern (112-avm_smbpasswd.patch). Deine Änderungen bitte klar ersichtlich als einen separaten Patch.
  1. Dieser Patch war ein Sonderfall zu 2. Er war auch im AVM-Quellcode enthalten, aber etwas anders formatiert etc. Meiner Erinnerung nach könnte man diese Hunks auch ersatzlos streichen. Werde ich aber noch verifizieren oder falsifizieren.


  • Bitte auch keine Leerzeichen anpassen. Diese können bei Bedarf später nachgeschoben werden.

Eigentlich hatte ich reine "whitespace changes" extra ausgenommen, aber an dieser Stelle hat mir diff wohl eine Nase gedreht.
Ich habe auch einige diffs entfernt, bei denen AVM nur Kommentare geändert hatte (AR7 → AVM), usw. War also keine Absicht.

  • AVM-users-cgi.patch wird zwar referenziert, fehlt glaube ich aber in Deinem Patch im Anhang

Liegt direkt im Make-Verzeichnis, um das Problem zu lösen, daß die Conditional Patches zu früh angewandt werden. Werde ich aber …

Die Art und Weise, wie dieser in .mk angewandt wird, ist auch die falsche. Richtig wäre: gar kein Patch, in .cgi selbst dafür if [ "$FREETZ_PACKAGE_SAMBA_AVMUSERS_FULL" = y ]; then ... fi

… entsprechend anpassen.

  • Statt perl -pi ...}} bitte {{{modsed verwenden

Wird aber für andere Patches auch verwandt und bietet den nötigen "non-greedy"-match, was diesen Replace deutlich zuverlässiger macht.
Mit sed könnte z.B. ein einziger geänderter HTML-Tag den Patch für die AVM-Oberfläche unwirksam werden lassen. Mit sed würde mir nicht ein einziges - das nächste - " als End-Anker reichen.

  • Alle Kommentare in freetz-Dateien bitte auf Englisch ("AVM Samba-Konfiguration vor unserer, wenn vorhanden")

Kein Problem, kann man ändern. Ich kann die Kommentare auch streichen, da sie im Vergleich zum sonstigen "Wenn es schwierig zu schreiben war, soll es auch schwierig zu verstehen sein …" fast schon im Überfluß vorhanden sind :)

  • Wie hast Du es Dir mit Samba-3.6 vorgestellt bzw. den Firmwares, die keine libavmacl2 haben?

Bei denen wird die Option zum Anwenden des Patches in menuconfig nicht angeboten. Wenn es keine libavmacl2 gibt, dann gibt es aber auch keine FRITZBox-Benutzer und was man nicht hat, kann man auch nicht übernehmen. In diesem Fall bedeutet "Übernehmen der AVM-Benutzer" nichts anderes als den klassischen ftpuser/boxusr80 zu übernehmen. Für Samba 3.6 kann man den Patch ggf. portieren, aber eigentlich wollte ich als nextes den IPv6-Patch ans Laufen kriegen …

p.s. Und noch was zu Deinem Lebensrhythmus, bitte tue Dir selbst einen Gefallen und schlafe ordentlich. Das Ganze hier ist es nicht Wert, um auf den Schlaf zu verzichten, es sei denn Du arbeitest von USA aus.

Ich leide an Schlaflosigkeit. Ich hantiere am Samba rum, weil ich nicht schlafen kann und nicht umgekehrt …

Geändert vor 5 Jahren durch SpaceRat

Patch version 0.10 for a cooperative Freetz-Samba

comment:48 Geändert vor 5 Jahren durch SpaceRat

Added patch version 0.10:

  • Comments translated to English
  • Moved adapting the Samba-CGI between full/limited FRITZBox-User mode to if/else clauses inside the samba.cgi rather than patching it
  • Removed changes to 112-avm_smbpasswd.patch
  • Compile fixes
Zuletzt geändert vor 5 Jahren von SpaceRat (vorher) (Diff)

comment:49 Antwort: Geändert vor 5 Jahren durch oliver

@SpaceRat
Da das Ticket inzwischen ziemlich lange geworden ist könntest du bitte mal kurz zusammenfassen:

  1. Was für ein Vorteil hat dein Patch? evtl. auch Nachteile? (Steht hier bestimmt schon drin. Wenn es in einem Kommentar steht in welchem? Stehen die alle im Eröffnungsposting drin?)
  2. Mit welcher/welchen Box(en) hast du das Verhalten getestet?

Es gibt ja leider viele AVM-Versionen im Feld. Unterschiedliches Verhalten für libavmacl1/2 hast du ja selbst schon genannt. Diese Versionen alle unter einen Hut zu bekommen war ein sehr langer Prozess. Daher wäre es wirklich einfacher für uns, wenn dein Patch nicht das komplette Sambapaket umkrempelt. Ich halte es schlicht für nicht möglich hier eine ausreichende Testabdeckung zu schaffen.

Zuletzt geändert vor 5 Jahren von oliver (vorher) (Diff)

comment:50 Antwort: Geändert vor 5 Jahren durch er13

Anmerkungen zu v10:

  • in samba_conf: einige Typos 2>/dev/nul (mit einem l statt zwei), "Klammer zu" gehört auch nach /dev/null und nicht vor 2
  • Funktionieren alle diese ctlmgr_ctl-Befehle auf allen Boxen, sind die Pfade/Namen der Einstellungen auf allen Boxen identisch
  • Wofür steht dieser Sondername "er" für WORKGROUP, SERVERSTRING, FRITZNAS
  • Statt "smbd -V | grep -q" bitte die entsprechende freetz-menuconfig-Option verwenden (FREETZ_SAMBA_VERSION_3_0)
  • #include "some_libavmacl2.h" bitte durch #include <libavmacl2/some_libavmacl2.h> ersetzen, dann brauchst Du -I../../libavmacl2-7490.06.01, was sowieso falsch ist, da auf Build-Verzeichnis verweist und nicht auf TARGET_TOOLCHAIN_STAGING_DIR
  • Wozu fügst Du "-DAVM_FRITZBOX" hinzu - wird nirgends verwendet?
  • AVM-Users.patch bitte so klein machen wie nur möglich. Auskommentierte Zeile von AVM (manuell) entfernen. Für mich gehört dieser Patch in 110-samba_avm.patch integriert. Wo stammt dieser Patch nochmal her bzw. wie hast Du ihn erstellt?

comment:51 Geändert vor 5 Jahren durch cuma

Sondername "er"

Das ist EINE der drei oder vier Möglichen Antworten im Fehlerfall. Es variiert je Box und Firmwareversion

Funktionieren alle diese ctlmgr_ctl-Befehle auf allen Boxen

  • Nein, es haben nicht alle Boxen den Befehl "ctlmgr_ctl"
  • außerdem ist in älteren Versionen der "usb"-Part noch nicht in einer eigenen Datei, sondern in der ar7


Ja, da ist noch einiges

comment:52 als Antwort auf: ↑ 49 Geändert vor 5 Jahren durch SpaceRat

Replying to oliver:

@SpaceRat
Da das Ticket inzwischen ziemlich lange geworden ist könntest du bitte mal kurz zusammenfassen:

  1. Was für ein Vorteil hat dein Patch? evtl. auch Nachteile? (Steht hier bestimmt schon drin. Wenn es in einem Kommentar steht in welchem? Stehen die alle im Eröffnungsposting drin?)

comment:44 enthält die aktuellste Zusammenfassung

  1. Mit welcher/welchen Box(en) hast du das Verhalten getestet?
  • 7390 FW 06.01
  • 7570 FW 04.91
  • 7270v3 FW 06.01 Labor

Es gibt ja leider viele AVM-Versionen im Feld. Unterschiedliches Verhalten für libavmacl1/2 hast du ja selbst schon genannt.

Der Patch für die komplette AVM-Benutzerunterstützung/die ACL ist aus genau diesem Grund auch abwählbar und nur für Firmwares 05.XX/06.XX überhaupt anwählbar.

Zuletzt geändert vor 5 Jahren von ralf (vorher) (Diff)

comment:53 als Antwort auf: ↑ 50 Geändert vor 5 Jahren durch SpaceRat

Replying to er13:

Anmerkungen zu v10:

  • in samba_conf: einige Typos 2>/dev/nul (mit einem l statt zwei),

Hab's korrigiert.

"Klammer zu" gehört auch nach /dev/null und nicht vor 2

Ich denke mal, Du meinst diese Stelle:

	USERS=$(cat $AVM_SAMBA_PATH/lib/smb.conf 2>/dev/null| grep "username" | grep "boxusr\|ftpuser")

Das 2>/dev/null ist da schon richtig, es soll halt nicht in eventuellen Fehlermeldungen von cat gegrepped werden. Die Gesamtzeile an sich kann ja gar keine Fehlermeldungen ausgeben, die wären ja dann mit in der Variablen.

  • Funktionieren alle diese ctlmgr_ctl-Befehle auf allen Boxen, sind die Pfade/Namen der Einstellungen auf allen Boxen identisch

Nein.
Deshalb sind diese Abfragen ja auch immer nach diesem Muster angelegt:
Freetz-Override (Vorrang für Einstellungen unter Freetz) → AVM-Setting → Fallback

  • Wofür steht dieser Sondername "er" für WORKGROUP, SERVERSTRING, FRITZNAS

Rückgabe bei Fehler, s.o.

  • Statt "smbd -V | grep -q" bitte die entsprechende freetz-menuconfig-Option verwenden (FREETZ_SAMBA_VERSION_3_0)

Kann man machen, ich gebe aber zu bedenken, daß man den smbd im Nachhinein austauschen könnte, sofern er externalisiert ist.

  • #include "some_libavmacl2.h" bitte durch #include <libavmacl2/some_libavmacl2.h> ersetzen, dann brauchst Du -I../../libavmacl2-7490.06.01, was sowieso falsch ist, da auf Build-Verzeichnis verweist und nicht auf TARGET_TOOLCHAIN_STAGING_DIR

Erledigt.

  • Wozu fügst Du "-DAVM_FRITZBOX" hinzu - wird nirgends verwendet?

Ich hatte die entsprechenden ifdef/ifndef zwischenzeitlich entfernt. Prinzipiell sind sie aber da. Ich habe den Patch auch zwischenzeitlich neu erstellt, um alle reinen whitespace changes loszuwerden und diesmal die o.g. ifdefs drin gelassen.

  • AVM-Users.patch bitte so klein machen wie nur möglich. Auskommentierte Zeile von AVM (manuell) entfernen.

Örx. Geht das dabei nötige Anpassen der Header für die geänderten Hunks auch einfacher als durch Mitzählen der Zeilen, die der Hunk danach weniger hat?

Für mich gehört dieser Patch in 110-samba_avm.patch integriert.

Dann würdest Du aber immer einen Samba mit diesem Patch erstellen, denn soweit ich das überblicke, hat AVM nicht wirklich alle Teile konsequent von AVM_FRITZBOX abhängig gemacht.
Ein solcher Samba würde aber auf Firmwares 04.xx rumzicken.


Wo stammt dieser Patch nochmal her bzw. wie hast Du ihn erstellt?

GPL-samba.tar.gz aus einem beliebigen aktuellen AVM Quellenpaket. Dann alle Diffs zwischen dem zuende gepatchten Freetz-Samba-3.0.37 und diesem ermittelt. Diffs rausgezogen, die andere Freetz-Patches rückgängig gemacht hätten; Diffs rausgezogen, die nur Kommentaränderungen beinhalten (AR7 → AVM) und den Rest in IPv6-Patch und User-ACL-Patch aufgedröselt.

comment:54 Antwort: Geändert vor 5 Jahren durch er13

Nein, ich meinte diese Stelle

WORKGROUP=$(ctlmgr_ctl r ctlusb settings/samba-workgroup) 2>/dev/nul

Und dann noch zwei ähnliche danach.

comment:55 als Antwort auf: ↑ 54 Geändert vor 5 Jahren durch SpaceRat

Replying to er13:

Nein, ich meinte diese Stelle

WORKGROUP=$(ctlmgr_ctl r ctlusb settings/samba-workgroup) 2>/dev/nul

Und dann noch zwei ähnliche danach.

Da hast Du latürnich Recht.
Werd's bis zum nächsten Release beheben :)

Geändert vor 5 Jahren durch SpaceRat

Version 0.11 of my Freetz-Samba patch (Fixes, Cleanup)

comment:56 Geändert vor 5 Jahren durch SpaceRat

Added patch version 0.11:

Minor fixes to comply with hints from http://freetz.org/ticket/2287#comment:50

  • Fixed includes
  • Fixed 2>/dev/null not inside brackets
  • Revised patch
  • Added -DAVM_SEC flag as used in AVMs patch
  • Make setting the flags -DAVM_FRITZBOX -DAVM_SEC depend on the AVM ACL2 option in Samba
  • Diff against latest trunk 11583

comment:57 Antworten: Geändert vor 5 Jahren durch dougi

Hallo SpaceRat,

vielen Dank für dein Engagement der Vereinfachung der Samba-Administration.

Für mich schlägst du den richtigen Weg ein. Ich finde es gut, nur eine Benutzerverwaltung zu nutzen und da idealerweise die, die von AVM vorgegeben ist.

Mit dem notwendigen Security-Update war ich nun gezwungen mein System zu updaten und habe die Chance genutzt auf dein Paket zu wechseln.

Ich habe keinen Root-User angelegt und AVM-Freigaben nutzen ausgewählt.

Dabei ist mir aufgefallen, dass ein Benutzername mit Leerzeichen nicht funktioniert.
Benutzername ohne Leerzeichen → Verhalten wie gewünscht.

Ich weiß, dass ein Leerzeichen nicht unbedingt etwas in einem Benutznamen zu suchen hat,allerdings sollte dies nicht Bestandteil dieser Diskusion werden :) Historisch bedingt mache ich es eben so und ich weiß, dass es grunsätzlich auch mit Samba funktionieren kann.

Ansonsten tolle Arbeit, weiter so und lass dich nicht von dem einen oder anderen unqualifizierten Kommentar entmutigen.

Gruß,
Dougi

comment:58 als Antwort auf: ↑ 57 Geändert vor 5 Jahren durch SpaceRat

Replying to dougi:

Hallo SpaceRat,

vielen Dank für dein Engagement der Vereinfachung der Samba-Administration.


Reiner Eigennutz ;)


Dabei ist mir aufgefallen, dass ein Benutzername mit Leerzeichen nicht funktioniert.


Diese Angabe bezieht sich worauf?
Auf den innerhalb von Freetz anlegbaren Benutzer oder einen der AVM-FritzBox-Benutzer?


Benutzername ohne Leerzeichen → Verhalten wie gewünscht.

Also inkl. "keinerlei Einsicht in Ordner, die nicht freigegeben wurden"?
Wenn ein Benutzer in der FritzBox selber nur Zugriff auf bestimmte Verzeichnisse kriegt, dann ist das korrekte Verhalten wie folgt:
Der Benutzer sieht nur diese(s) Verzeichnis(se), bzw. kann durch die übergeordneten Verzeichnisse (Welche aber selber bis auf die für den weiteren Weg notwendigen Unterverzeichnisse leer erscheinen, selbst wenn sich darin eigentlich Dateien oder weitere Verzeichnisse befinden).

Beispiel:
Benutzer "Karl Knall" hat Zugriff auf /uStor01/Ebene1a/Ebene2b/Ebene3b
dann sieht er in uStor01 kein Verzeichnis "Ebene1b", "Ebene1c", usw. sondern nur "Ebene1a" und auch keine Dateien.
Innerhalb von Ebene1a kann er nur "Ebene2b" sehen, nicht "Ebene2a" oder irgendwelche Dateien, usw.


Abweichend hiervon kann der freetz-ftpuser alle Dateien und Ebenen sehen, so wie im ungepatchten freetz auch.


Ansonsten tolle Arbeit, weiter so und lass dich nicht von dem einen oder anderen unqualifizierten Kommentar entmutigen.


Sowieso nicht. Ich weiß ja, daß es funktioniert und ich habe es natürlich auch in allen meinen Firmwares drin.

comment:59 als Antwort auf: ↑ 57 Geändert vor 5 Jahren durch SpaceRat

Replying to dougi:

Ach ja:
Es wäre auch schön, erfahren zu können, welche Box Du nutzt.

comment:60 Antworten: Geändert vor 5 Jahren durch dougi

Als Benutzer möchte ich nur die in der Fritzbox administrierten nutzen. Also ein Benutzer mit Leerzeichen, welcher in der AVM Oberfläche angelegt wurde und dort Lese- und Schreibrechte besitzt..

Meine Festestellung bezieht sich auf die Option Alle Ordner Freigeben in der AVM Oberfläche.

Ich nutze eine 7390 mit 6.03 Firmware und Replace Kernel.

Zwischenzeitlich habe ich festgestellt, dass ich mit einem User aus der AVM Oberfläche über das Webinterface fritz.nas Ordner anlegen und löschen kann. Mit dem gleichen User über Samba kann ich allerdings nur lesend zugreifen.

comment:61 Antwort: Geändert vor 5 Jahren durch dougi

Ergänzung:

Wenn ich im Freetz Interface einen Root-User eintrage, dann funktioniert dieser über das Webinterface und Samba mit Lese- und Schreibrechten. Auf die Rechte der AVM User hat dies allerdings keine Auswirkung.

Zuletzt geändert vor 5 Jahren von dougi (vorher) (Diff)

comment:62 als Antwort auf: ↑ 61 ; Antwort: Geändert vor 5 Jahren durch SpaceRat

Replying to dougi:

Ergänzung:

Wenn ich im Freetz Interface einen Root-User eintrage, dann funktioniert dieser über das Webinterface und Samba mit Lese- und Schreibrechten. Auf die Rechte der AVM User hat dies allerdings keine Auswirkung.

Also exakt "as designed".

comment:63 als Antwort auf: ↑ 62 Geändert vor 5 Jahren durch dougi

Replying to SpaceRat:

Also exakt "as designed".

Jup, das passt :)
Nur die "blöden" AVM User wollen nicht so wie sie sollen

comment:64 als Antwort auf: ↑ 60 ; Antwort: Geändert vor 5 Jahren durch SpaceRat

Replying to dougi:

Als Benutzer möchte ich nur die in der Fritzbox administrierten nutzen. Also ein Benutzer mit Leerzeichen, welcher in der AVM Oberfläche angelegt wurde und dort Lese- und Schreibrechte besitzt..

Hast Du vielleicht vergessen, diesem Benutzer überhaupt NAS-Zugriff zu gewähren?
Ich komme mit meinem "Test User" problemlos von Windows 7 aus auf's FRITZ.NAS und auch die Rechte stimmen.


Evtl. liegt's ja auch am Client?
Unter Linux funktioniert Samba wie unter Linux halt üblich: Es ist eine Qual.
Je nachdem ob Du per autofs, fstab, smbnetfs, … mountest, jedes Mal mußt Du die Leerzeichen anders escapen.


Ich nutze eine 7390 mit 6.03 Firmware und Replace Kernel.

Schade, denn die gleiche nutze ich auch.
Wäre halt schön, wenn mehr Rückmeldungen mit anderen Boxen kämen.


Zwischenzeitlich habe ich festgestellt, dass ich mit einem User aus der AVM Oberfläche über das Webinterface fritz.nas Ordner anlegen und löschen kann. Mit dem gleichen User über Samba kann ich allerdings nur lesend zugreifen.

Was davon ist denn richtig?
Also welche Rechte hat der Benutzer wirklich?
Hast Du beachtet, daß Du in Freetz die AVM-Freigaben auch in r/o umwandeln könntest? Dort darf natürlich kein Haken rein, sonst ist die FritzBox-Freigabe zwar da, aber komplett r/o, unabhängig von FritzBox-Benutzerrechten.

comment:65 als Antwort auf: ↑ 60 Geändert vor 5 Jahren durch SpaceRat

Doppelpost geleert.

Zuletzt geändert vor 5 Jahren von SpaceRat (vorher) (Diff)

comment:66 als Antwort auf: ↑ 64 Geändert vor 5 Jahren durch dougi

Zwischenzeitlich habe ich festgestellt, dass ich mit einem User aus der AVM Oberfläche über das Webinterface fritz.nas Ordner anlegen und löschen kann. Mit dem gleichen User über Samba kann ich allerdings nur lesend zugreifen.

Was davon ist denn richtig?
Also welche Rechte hat der Benutzer wirklich?
Hast Du beachtet, daß Du in Freetz die AVM-Freigaben auch in r/o umwandeln könntest? Dort darf natürlich kein Haken rein, sonst ist die FritzBox-Freigabe zwar da, aber komplett r/o, unabhängig von FritzBox-Benutzerrechten.

Also aufgeallen ist mir, wenn ich mich über die Konsole einlogge, dann gehören alle Verzeichnisse root:root.
Wenn ich einen Unterorder als "User" über das Webinterface erstelle gehört dieser ebenfalls root:root.
Vom verhalten hätte ich als Owner des Ordners jetzt etwas anderes erwartet, allerdings habe ich mich auch im Detail mit der Userverwaltung von AVM noch nicht beschäftigt.

RO habe ich natürlich … nicht gesetzt :).
Zugriff erfolgt von Windows 8 Rechner

Geändert vor 5 Jahren durch dougi

Geändert vor 5 Jahren durch dougi

comment:67 Antwort: Geändert vor 5 Jahren durch dougi

Wenn ich deinen Patch richtig verstanden habe, sollte doch mit diesen Einstellungen der AVM User vollen Zugriff erhalten oder?

comment:68 als Antwort auf: ↑ 67 ; Antwort: Geändert vor 5 Jahren durch SpaceRat

Replying to dougi:

Wenn ich deinen Patch richtig verstanden habe, sollte doch mit diesen Einstellungen der AVM User vollen Zugriff erhalten oder?

Nein.
Sofern Du im Freetz Samba 3.0.37 und den AVM-FritzBox-User Support ausgewählt hast, dann erhalten die AVM-FritzBox-Benutzer exakt die Rechte, die Du in der FritzBox-Benutzerverwaltung eingestellt hast.
Bei den von Dir abgebildeten Einstellungen ist das natürlich tatsächlich Vollzugriff, aber wenn Du die Rechte dort einschränken würdest, dann würde das auch im Samba so gelten, eben ganz genau wie in der Original-Firmware.
In Ticket #2331 habe ich das auch mal beispielhaft gezeigt, dort ist ein Screenshot beigefügt, auf dem man zwei mal denselben Samba-Server (Die unterschiedlichen Hostnames sind nur ein Trick, damit sich Windows am selben Server mit unterschiedlichen Credentials anmeldet) sieht, aber eben mit unterschiedlichen Benutzern, von denen der eine erheblich eingeschränkte Rechte hat.

Ohne den schon in make menuconfig auszuwählenden AVM-FritzBox-User Support oder mit Samba 3.6 (Dafür gibt es keinen avmacl2-Patch) haben alle FritzBox-Benutzer Vollzugriff, verhalten sich also wie zusätzliche Freetz-User.


Das von Dir beobachtete Verhalten ist übrigens korrekt:
Die Benutzer werden - genau wie in AVMs Samba-Konfiguration auch - im Samba mit erhöhten Rechten (Vollzugriff) angelegt und dann erst im Nachhinein durch AVMs ACL wieder beschränkt. Die Benutzer, die in AVMs ACL-Konfiguration (Basierend auf den FritzBox-Benutzern) nicht vorkommen, also dem Freetz-ftpuser und meinem root, haben ergo immer den maximalen Zugriff aus der Definition der Freigabe selber. Das selbe gilt, wenn Samba ohne avmacl2-Support ("AVM FritzBox User Support") oder als Samba 3.6 gebaut wurde, da dann die einschränkenden ACLs nicht berücksichtigt werden können.

comment:69 Geändert vor 5 Jahren durch SpaceRat

Am einfachsten wäre es übrigens, wenn Du einfach mal eine Firmware ganz ohne Freetz-Samba baust und mit den AVM-FritzBox-Benutzern samt unterschiedlicher Rechte rumspielst.
So kriegst Du einen Eindruck davon, was wie funktioniert und funktionieren soll.
Wenn Du dann Freetz mit meinem Patch plus Samba 3.0.37 plus AVM FritzBox User Support baust, dann muß sich der Samba danach exakt genauso verhalten (exkl. der innerhalb der Freetz-Oberfläche konfigurierten Abweichungen).
Wenn nicht: Rückmeldung :)

comment:70 als Antwort auf: ↑ 68 ; Antwort: Geändert vor 5 Jahren durch dougi

doppelpost s.u.

Zuletzt geändert vor 5 Jahren von dougi (vorher) (Diff)

comment:71 als Antwort auf: ↑ 70 Geändert vor 5 Jahren durch dougi

Replying to dougi:

Replying to SpaceRat:

Ohne den schon in make menuconfig auszuwählenden AVM-FritzBox-User Support oder mit Samba 3.6 (Dafür gibt es keinen avmacl2-Patch) haben alle FritzBox-Benutzer Vollzugriff, verhalten sich also wie zusätzliche Freetz-User.

Genau so wurde Freetz gebaut: Mit AVM User Support und Samba 3.0.37 Das ist ja die Merkwürdigkeit.
Habe auch Testweise die Festplatte gegen einen USB-Stick getauscht. Ändert sich aber nichts am Verhalten.
Mache jetzt folgendes: Festplatte sichern → formatieren, Freetz neu bauen → neu Einspielen
Danach gebe ich nochmals Rückmeldung. Die Datensicherung wird allerdings nen Moment dauern.

comment:72 Geändert vor 5 Jahren durch dougi

PS: Ich nutze External

comment:73 Geändert vor 5 Jahren durch dougi

Back to where we started :)
Habe in der Zwischenzeit zumindest die Firmware schon erneuert und mit einem Smartphoneclient auf den Sambashare zugegriffen. "BenutzerName" funktioniert, "Benutzer Name" funktioniert nicht. Das ist doch merkwürdig oder?

comment:74 Geändert vor 5 Jahren durch dougi

Scheint ein ganz anderes Problem zu sein als vermutet. Meine /etc/passwd hat 131076 Einträge davon 131070 x nobody:x:100:1000:nobody:/home/nobody:/bin/false

wtf?

comment:75 Geändert vor 5 Jahren durch SpaceRat

Schick mir mal folgendes per Mail (Ziggy Pünktchen SpaceRat ät gmx Punkt de):


Den Inhalt von /var/mod/etc/samba
Die /tmp/users.map und /tmp/users.acl
Den Inhalt von /tmp/samba


Die Ausgaben von (Ein Block = eine Zeile):

allcfgconv -C ar7 -c -o - | sed -n -e '/boxusers/,/^}/p' | egrep 'id|name|email|password' | grep -v 'remote_access' | sed -e 's/^[ \t]*//'


cat /etc/passwd ← hat sich erledigt


cat /etc/group


Achtung: Die o.g. Ausgaben/Dateien enthalten Passwörter im Klartext und Passwort-Hashes, also ändere sie ggf. vorher in Test-Passwörter.

comment:76 Geändert vor 5 Jahren durch SpaceRat

Da ist noch irgendein Murks bzgl. des Users "nobody" drin.

addgroup nobody -g 99
und
adduser nobody -u 32767 -G nobody -D -S -H -g "nobody" -s /bin/false
auf der Shell legen den Benutzer korrekt an, aber mit modlib_ davor läuft irgendwas aus dem Ruder.

Und/oder id lügt gelegentlich …

Jedenfalls vermehren sich unter mit unerklärlichen Umständen die nobodies wie im wahren Leben gelegentlich …



Workaround:
Wenn Du die von Hand beseitigst und den User direkt auf der Shell mit o.g. Befehlen richtig anlegst, sollte das aufhören.

comment:77 Geändert vor 5 Jahren durch dougi

Daten sind unterwegs

comment:78 Geändert vor 5 Jahren durch dougi

Beseitigen und anlegen hat zwar funktioniert, wenn ich jedoch einen neuen User im Webinterface anlege, ändere oder lösche, dann verdoppelt sich die Anzahl der nobody's wieder.
Benutzer mit Leerzeichenproblem besteht weiterhin :(

comment:79 Geändert vor 5 Jahren durch dougi

Habe jetzt mit leerer Platte und bereinigten Berechtigungen einen Kompromiss gefunden der funktioniert.
Mein "Be Nutzer" ist als Root User im Freetz Interface eingetragen.
Die anderen "Benutzer" sind im AVM Interface angelegt und haben unterschiedliche Ordner Berechtigungen, welche auch funktionieren.

Vielen Dank für Deine große Hilfe hier. Meine Unterstützung für diesen Patch hast du nach wie vor!!

comment:80 Geändert vor 4 Jahren durch er13

  • Meilenstein von freetz-next nach freetz-future geändert

Ist leider noch viel (Test-)Arbeit nötig, daher freetz-future.

Geändert vor 4 Jahren durch SpaceRat

Patch version 0.13 for a cooperative Freetz-Samba

comment:81 Geändert vor 4 Jahren durch SpaceRat

Added patch version 0.13:

  • If the Freetz user was not deleted before switching to a build with full AVM user support, the then useless Freetz-ftpuser was still added to configs, breaking logins for AVM users with the same login name as the former Freetz user.
  • Tryfix for an error without error: The user nobody was created again and again, ignoring valid checks. Using a more basic method to test for existance and a double check seems to fix this issue.
  • Transfer "interfaces" and "bind interfaces only" from original config to Freetz-Samba-Config to prevent binding to the guest-Interface(s)
  • Diff against latest trunk 11807
Zuletzt geändert vor 4 Jahren von SpaceRat (vorher) (Diff)

comment:82 Geändert vor 4 Jahren durch dougi

Läuft mittlerweile fehlerfrei!!! Die Benutzer- und Rechteverwaltung stelle ich im AVM Interface so ein wie ich es haben möchte und der Zugriff funktioniert problemlos.
Genauso wie ich es mir vogestellt habe.

Vote4 Freetz Next

Grüße,
Dougi

PS: Der Support durch SpaceRat war vorbildlich. Das meiste lief direkt per eMail …

Zuletzt geändert vor 4 Jahren von dougi (vorher) (Diff)

Geändert vor 4 Jahren durch SpaceRat

Patch version 0.15 for a cooperative Freetz-Samba

comment:83 Geändert vor 4 Jahren durch SpaceRat

Added patch version 0.15:

  • Minor code cleanup
  • Fix login issues with 7270v2/v3 Firmware 05.54 and potentially other 05.5x Firmwares
  • Another fix for creation of user/group "nobody"

comment:84 Antworten: Geändert vor 4 Jahren durch dougi

Hallo Spacerat,

nach wie vor läuft alles Bestens.

Bin zwischenzeitlich auf ein weiteres Benutzerthema gestoßen, von dem ich denke, dass es im Rahmen einer zentralen Benutzerverwaltung auch hier her gehört.

Ich benutze seid geraumer Zeit rsync als Backup auf meine Box. Jetzt habe/wollte ich gerne auf verschlüsselte Übertragung umstellen. D.h. ich habe dropbear als ssh Server installiert und festgestellt, dass die Samba-Benutzerverwaltung leider nicht greift.
Logisch, weil boxusrXX =! SMBUser.
Als Workaround habe ich versucht, den boxusrXX auch als SMB:boxusrXX anzulegen und die Verzeichnissrechte zu vergeben.
Allerdings scheitert die Anmeldung über ssh mit einem im AVM Interface angelegten Benutzer mit folgender Logmeldung:

Apr  7 09:03:46 authpriv.notice dropbear[28875]: Password auth succeeded for 'boxusr12' from 10.x.x.x:44806
Apr  7 09:03:46 authpriv.info dropbear[28876]: Exit (boxusr12): Error changing directory
Apr  7 09:03:46 authpriv.info dropbear[28875]: Exit (boxusr12): Disconnect received

Als Idee dachte ich nun daran, deinen Patch soweit zu erweitern, dass man entscheiden kann, ob die über das AVM Interface angelegten User auch ein home-Verzeichnis bekommen, so dass eine Anmeldung über ssh möglich wird?

Viele Grüße,
Dougi

Zuletzt geändert vor 4 Jahren von ralf (vorher) (Diff)

comment:85 als Antwort auf: ↑ 84 Geändert vor 4 Jahren durch ralf

Replying to dougi:

Allerdings scheitert die Anmeldung über ssh mit einem im AVM Interface angelegten Benutzer mit folgender Logmeldung:

Bitte die Vorschau beachten und ggf. unter WikiFormatting (der Link dazu ist auch links oberhalb des Editors) nachlesen.

Hilft es denn, wenn Du von Hand in /etc/passwd ein existierendes Verzeichnis einträgst?

comment:86 als Antwort auf: ↑ 84 ; Antwort: Geändert vor 4 Jahren durch SpaceRat

Replying to dougi:

Hallo Spacerat,

Selber Hallo!

nach wie vor läuft alles Bestens.

Freut mich zu hören!

Apr  7 09:03:46 authpriv.notice dropbear[28875]: Password auth succeeded for 'boxusr12' from 10.x.x.x:44806
Apr  7 09:03:46 authpriv.info dropbear[28876]: Exit (boxusr12): Error changing directory
Apr  7 09:03:46 authpriv.info dropbear[28875]: Exit (boxusr12): Disconnect received

Als Idee dachte ich nun daran, deinen Patch soweit zu erweitern, dass man entscheiden kann, ob die über das AVM Interface angelegten User auch ein home-Verzeichnis bekommen, so dass eine Anmeldung über ssh möglich wird?

Möglich wäre es mit Sicherheit, aber ungleich aufwendiger:
Meine Benutzerverwaltung re-implementiert ja nur etwas, das früher von Freetz wieder rausgenommen wurde. Was Du willst, widerspricht hingegen komplett dem bisherigen (AVM-)Konzept der Box.
Die Box legt die Boxuser so an, wie sie sie nun einmal anlegt, also ohne Home-Verzeichnis. Würde man denen nun einfach nachträglich ein Home-Verzeichnis zuweisen, würde es eh wieder verloren gehen, wenn die FritzBox die Benutzer neu schreibt.
Außerdem müßten diese Home-Verzeichnisse ja auch mit zumindest etwas Leben gefüllt werden …

Zuletzt geändert vor 4 Jahren von SpaceRat (vorher) (Diff)

comment:87 als Antwort auf: ↑ 86 Geändert vor 4 Jahren durch dougi

Replying to ralf:

Hilft es denn, wenn Du von Hand in /etc/passwd ein existierendes Verzeichnis einträgst?

Daran habe ich auch schon gedacht. Vermutlich würde es gehen, da es auch geht, wenn ich einen User per passwd anlege. Das habe ich ausprobiert. Meine Frage ist nur ob das ganze dann von Dauer wäre und dazu habe ich in der Antwort von spacerat verstanden:

Replying to SpaceRat:

Die Box legt die Boxuser so an, wie sie sie nun einmal anlegt, also ohne Home-Verzeichnis. Würde man denen nun einfach nachträglich ein Home-Verzeichnis zuweisen, würde es eh wieder verloren gehen, wenn die FritzBox die Benutzer neu schreibt.
Außerdem müßten diese Home-Verzeichnisse ja auch mit zumindest etwas Leben gefüllt werden …

Damit würde der obige Vorschlag von Ralf, das Homeverzeichnis von Hand anzulegen, verloren gehen. Richtig?

comment:88 Antwort: Geändert vor 4 Jahren durch dougi

Die Idee rsync per ssh zu nutzen sollte doch als root mit user:pass zumindest funktionieren oder?

Bei dem Versuch als root kommt folgender Log:

Apr  7 12:07:55 authpriv.notice dropbear[5930]: Password auth succeeded for 'root' from 10.x.x.x:46341
Apr  7 12:07:55 daemon.info rsyncd[5933]: rsync: unable to open config file "/etc/rsyncd.conf": No such file or directory (2)
Apr  7 12:07:55 daemon.warn rsyncd[5933]: rsync error: syntax or usage error (code 1) at clientserver.c(1057) [Receiver=3.1.0]
find / -name rsyncd.conf

bleibt allerdings ohne Ergebnis.

Zuletzt geändert vor 4 Jahren von dougi (vorher) (Diff)

comment:89 als Antwort auf: ↑ 88 ; Antwort: Geändert vor 4 Jahren durch ralf

Replying to dougi:

Bei dem Versuch als root kommt folgender Log:

Auch Du solltest das Log lesbar formatieren, zumal Du offensichtlich weißt, wie es funktioniert.

Bei mir funktioniert der Transfer mit rsync übrigens ohne Probleme.

comment:90 als Antwort auf: ↑ 89 ; Antwort: Geändert vor 4 Jahren durch dougi

Replying to ralf:

Auch Du solltest das Log lesbar formatieren, zumal Du offensichtlich weißt, wie es funktioniert.

/done

Bei mir funktioniert der Transfer mit rsync übrigens ohne Probleme.

Auch über SSH? Unverschlüsselte Übertragung funktioniert bei mir auch.

comment:91 als Antwort auf: ↑ 90 ; Antwort: Geändert vor 4 Jahren durch ralf

Replying to dougi:

Auch über SSH? Unverschlüsselte Übertragung funktioniert bei mir auch.

Ich verwende rsync fast ausschließlich über SSH, in Verbindung mit der Box nur mit SSH.

comment:92 als Antwort auf: ↑ 91 Geändert vor 4 Jahren durch dougi

Mit Zertifikat oder Login? Weil Login bei mir mit Freigabebeschränkung auf einen Ordner eben nicht funktioniert :(

comment:93 Antwort: Geändert vor 4 Jahren durch ralf

Mit SSH Key. Es spielt aber keine Rolle für die Funktion von rsync, welche SSH Anmeldung man nimmt.

Dies Ticket ist aber keine Diskussion zu den Details von SSH oder Rsync.

comment:94 als Antwort auf: ↑ 93 Geändert vor 4 Jahren durch dougi

Replying to ralf:

Mit SSH Key. Es spielt aber keine Rolle für die Funktion von rsync, welche SSH Anmeldung man nimmt.

Nur, dass der User über ein Homeverzeichnis verfügen muss, welches im Standart nicht angelegt wird und somit ein über das Webinterface administrierbares Zusammenspiel von dropbear und rsync nicht möglich macht. Korrekt wiedergeben?

Damit soll es dann auch von meiner Seite gut sein zum Thema Rsync:)

Hinweis: Hilfe zur Verwendung von Tickets finden Sie in TracTickets.