7390: Samba + User

M!chel

Neuer User
Mitglied seit
27 Mrz 2010
Beiträge
12
Punkte für Reaktionen
0
Punkte
0
Hallo,

schaffe es leider nicht, auf der 7390 Samba mit zusätzlichen Usern einzurichten. Habe mich an das HOWTO im Forum gehalten, das bei der 7170 prima klappte, aber mit der 7390 bekomme ich es nicht hin.
Die Benutzer sind in /mod/etc/samba/smbpasswd enthalten. Alle Freigaben sind über smbclient -L fritz.box -U ftpuser (kein Password) zu sehen, bei jedem anderen Benutzer erhält man NT_STATUS_LOGON_FAILURE.
Habe in freetz unter Samba>Erweitert andere Authentifizierungsmethoden eingetragen, komme letztendlich aber weder mit Linux noch mit Windows auf die shares.
Muß ich AVM Bestandteile des Images herausnehmen, NAS oder dgl.?

Wäre für Hilfe dankbar!
 
Hallo,

bei mir das selbe. Hab auch schon versucht die AVM NAS Geschichten aus dem Image zu nehmen. Er findet meine unter erweitert angelegten shares, nur ist das Kennwort immer falsch, sagt er zumindest. Die Samba Passwörter sind aber definitiv da.

Was kann man machen?

Thx
Kai
 
So,
für diejenigen, die vielleicht auch noch mit Samba auf der 7390 kämpfen. Nach zahlreichen Fehlversuchen habe ich es hin bekommen, indem ich Ubuntu 10.10 auf meinem Netbook auf die Verwendung von smbpasswd umgestellt habe. (Vorher sinnvollerweise die aktuelle smb.conf sichern.) Dann für alle Benutzer, die später auf die FB sollen, unter Ubuntu smbpasswd -a Benutzername ausführen. Die so erzeugte smbpasswd auf die FB spielen. Im Prinzip kann man sich grob an das HOWTO halten, nur darf man auf der FB NICHT mehr smbpasswd in der Konsole eingeben. Danach noch die Benutzer-IDs in smbpasswd so umstellen, weil die IDs von Ubuntu und der FB sicherlich nicht übereinstimmen. Danach wie im HOWTO modsave all, Kopieren der smbpasswd nach /var/tmp/flash/smbpasswd, Setzen eines Eintrages in rc.custom.

Wenn ich im Ablauf nicht mehrere Deppenfehler verschachtelt habe, würde ich vermuten, daß bis mindestens trunk-6731 (später habe ich es nicht mehr probiert) die Übersetzung in verschlüsselten Passworte nicht klappt bzw. ein anderer Typ eingestellt wird.

Gruß,
M!chel
 
Zuletzt bearbeitet:
Kannst Du dann mal den Unterschied zeigen zwischen der smbpasswd, die Du auf Ububtu erstellt hast und der smbpasswd, die auf der Box erstellt wurde? Letztlich muß es einen Unterschied und einen Grund für diesen Unterschied geben.
 
Hallo,

ja, die Unterschiede liegen in den verschlüsselten Passworten, was auch der Grund dafür war, daß von der FB der Zugriff auf die Freigaben verweigert wurde.
Habe mal als Beispiel für ftpuser das Passwort "test" vergeben und den Benutzer auch auf Ubuntu angelegt. Auf der FB habe ich die Datei smbpasswd über smbpasswd.cleartext erzeugt. Das Resultat ist:
ftpuser:102:A7FE3A85CE732538AD8D0BC00E2F0EA5:9FFFB9CB765066E17DD2D05D9F88AA94:[U ]:LCT-4D57A432:

Unter Ubuntu reicht smbpasswd -a ftpuser, für den ich dasselbe Passwort vergeben habe. Die erzeugte smbpasswd unterscheidet sich:
ftpuser:1001:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX:0CB6948805F797BF2A82807973B89537:[U ]:LCT-4DA4BD1C:

In beiden Fällen ist security=user gesetzt, client ntlmv2 auth sollte (hoffentlich) aktiv sein. Die unter Ubuntu erzeugte Datei erlaubte auf der FB (nach Anpassung der Benutzer-IDs) bei uns den Zugriff von Win XP, Vista, 7 und Linux.

Was dann noch recht häufig passiert, ist daß nach dem Neustart der Box die Zeile "cat /var/tmp/flash/smbpasswd > /mod/etc/samba/smbpasswd" in der rc.custom nicht ausgeführt wird. Wenn man es hinterher noch einmal über die Shell schickt, läuft alles prima.

Gruß und vielen Dank,
M!chel

Und noch nebenbei bemerkt: das ist ein klasse Forum!
 
Der richtige Wert für das Password "test" ist:
Code:
01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B89537
Da muß entweder ein Fehler im Programm smbpasswd sein, oder die Eingabedatei ist falsch.
Kannst Du feststellen, wie die Eingabedatei für smbpasswd aussieht, bzw. eine Datei von Hand erstellen und sehen, was smbpasswd daraus erzeugt?
 
Hallo,

bezogen auf obiges Beispiel ist der Inhalt von /var/tmp/smbpasswd.cleartext:
Code:
ftpuser:102:test:[U          ]:LCT-00000001:

Die daraus erzeugte /var/mod/samba/smbpasswd sieht so aus:
Code:
ftpuser:102:A7FE3A85CE732538AD8D0BC00E2F0EA5:9FFFB9CB765066E17DD2D05D9F88AA94:[U          ]:LCT-00000001:

War es das, was Du wissen wolltest?

Gruß,
M!chel
 
Ja, genau das.
Bei mir kommt mit der gleichen Eingabe diese Zeile:
Code:
ftpuser:102:FCA0AEA63E8D568190004151ADA7B438:0CB6948805F797BF2A82807973B89537:[U          ]:LCT-00000001:
Der vordere Teil ist hier zwar auch falsch, aber zumindest der zweite Wert stimmt.
Gibt es generell Probleme damit auf der 7390?
 
Scheint so. Bin gerade auf folgenden Unterschied im Open-Source Paket gestoßen:
Code:
--- avm_smbpasswd.c.old 2011-03-16 21:24:59.000000000 +0100
+++ avm_smbpasswd.c     2010-08-20 13:05:54.000000000 +0200
@@ -19,6 +19,7 @@

 #include "includes.h"

+#include <endian.h>

 void E_md4hash(const char *passwd, uchar p16[16])
 {
@@ -34,6 +35,9 @@
 #else
        for (i = 0; i < len; i++) {
                wpwd[i] = (unsigned char)passwd[i];
+#if __BYTE_ORDER == __BIG_ENDIAN
+               wpwd[i] <<= 8; // make mem layout like LITTLEENDIAN
+#endif
        }
        wpwd[i] = 0; // termination
 #endif
Gruß
Oliver

edit: Wir verwenden die Version aus den AVM Sourcen. Diese ist aber nicht auf dem "aktuellen" Stand. Daher das Problem.
 
Zuletzt bearbeitet:
Beim LANMAN Hash haben wir auch einen Fehler, auch auf den alten Boxen.
Das AVM smbpasswd Programm gibt den richtigen Wert aus:
Code:
ftpuser:102:01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B89537:[U          ]:LCT-00000001:
 
Ich kann deine Beobachtung nachvollziehen. Auch bei mir ist der lanman hash falsch. Scheint mir ein gcc Problem zu sein. Zumindest mit "-O3" statt "-Os" kommt der korrekte Hash-Wert raus. Gibt es irgendwo eine Liste mit allen Flags die "-Os" anschaltet? Die im gcc manual bringt nichts, da nicht explizit alle Flags genannt sind.
Oder hast du eine Idee an was es liegen könnte?

Gruß
Oliver

edit: Folgende Zeile vor der toupper Schleife in E_deshash scheint das Problem zu beheben:
Code:
memset(dospwd, 0, sizeof(dospwd));

Wird da bei "char dospwd[256+2];" die Variable nicht auf "NULL" gesetzt?

edit 2:
Code:
Breakpoint 1, E_deshash (passwd=0x7fde4628 "test", p16=0x7fde45d8 "") at utils/avm_smbpasswd.c:68
68      utils/avm_smbpasswd.c: No such file or directory.
        in utils/avm_smbpasswd.c
(gdb) n
60      in utils/avm_smbpasswd.c
(gdb) print dospwd
$1 = "\000\021\023\032\000\022\017\027", '\0' <repeats 249 times>
(gdb)
Warum hat dospwd schon Inhalt im Fehlerfall?
 
Zuletzt bearbeitet:
hast du eine Idee an was es liegen könnte?
Entweder ein Fehler in der Optimierung im Compiler, oder ein Fehler im Programm, das irgendwo undefiniertes Verhalten nutzt.

PS:
Es liegt daran, daß das Passwort nicht mit '\0' aufgefüllt wird. Das erreicht man am einfachsten dadurch, daß man vorher alles auf 0 setzt. Soweit ich weiß, übersetzt AVM nicht mit -Os.
Code:
--- utils/avm_smbpasswd.c~
+++ utils/avm_smbpasswd.c
@@ -59,12 +59,13 @@
        int i;
        int len;

+       memset(dospwd, 0, sizeof(dospwd));
        /* Password must be converted to DOS charset - null terminated, uppercase. */
 //     push_ascii(dospwd, passwd, sizeof(dospwd), STR_UPPER|STR_TERMINATE);
        len = strlen(passwd);
        for (i = 0; i < len; i++) {
                char c = passwd[i];
-               if (islower(c)) c = toupper(c);
+               c = toupper(c);
                dospwd[i] = c;
        }
        dospwd[i] = 0;
PPS:
Die Entfernung von islower hat mit dem Fehler nichts zu tun, spart bei mir aber nochmal ca. 180 Bytes ein. Vermutlich könnte man da noch um einige Bytes reduzieren.
 
Zuletzt bearbeitet:
So,

scheint zu klappen.
Die smbpasswd.cleartext aus obigem Beispiel
Code:
ftpuser:102:test:[U          ]:LCT-00000001:

wird mit trunk-6823 korrekt übersetzt zu:
Code:
ftpuser:102:01FC5A6BE7BC6929AAD3B435B51404EE:0CB6948805F797BF2A82807973B89537:[U          ]:LCT-00000001:

Vielen Dank,
M!chel
 
Hallo,

ich kann bestätigen das es nun funktioniert. Ich habe meine 7390 seit Anfang März und bastel seit dem daran herum und hatte bisher immer Probleme einen Zugriffsbeschränkten Zugriff mit Sambe einzurichten. "Gast" schreiben auf eine Freigabe funktionierte zwar, es gab aber Warnungen im syslog von wegen Passwortlänge.

Seit der Änderung funktioniert nun sowohl die Zugriff per Usernamen/Passwort wie auch der Gastzugriff ohne Warnungen im syslog.

Dies nur als Information und weil ich somit folgendes hier im Forum unterbringen kann:

Vielen Dank für all die Arbeit die in Freetz durch freiwillige Helfer gesteckt wurde!

Bei funktionierte alles bestens (checkput, compile,..) und ich bin froh freetz.org gefunden zu haben. ;)

Da nun das Samba-Problem gelöst ist, an dem ich eine Weile rumprobiert habe kann ich mich nun an Apache+PHP machen.

Schönen Gruß

Castler
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

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

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