[HOWTO] vsFTP und Samba mit Benutzerrechten für FAT32-USB-Platte

Der Thread heißt "vsFTP und Samba mit Benutzerrechten für FAT32-USB-Platte", nicht autorun.sh.

Dann lese dir mal bitte das allererste Posting von johnnyEee durch.
Die autorun.sh bzw. autoend.sh sind Bestandteil seines Konzepts.
 
autorun/autoend können im trunk (mit freetzmount) über das Webinterface de-/aktiviert werden.

Gruß
Oliver
 
OK. Das wußte ich nicht, da werde ich im WebIF danach suchen.

Was mich irritiert bzw. stört ist, dass bestimmte SAMBA-Parameter vorgegeben sind, z.B.
Code:
[global]
security = share
und
Code:
[freigabe]
user = ftpuser

Ich habe ja die Möglichkeit im WebIF die Parameter für dieses Sektionen [global] und [freigabe] festzulegen. Warum werden diese dann "vorbelegt"?
Kann ich diese Default-Werte modifizieren?

Und dann noch diese Frage:
Welche Datei bestimmt letztendlich das Verhalten des SAMBA Servers?
Eine der diversen smb.conf, oder gar eine der smb_conf?

THX
 
Zuletzt bearbeitet:
Du must nach dem Anlegen der Datei in /tmp/flash "modsave" ausführen. Und die Datei kannst du doch so anpassen wie du es benötigst!?

Gruß
Oliver

Ich habe getan, was mir empfohlen wurde, d.h.
1. cp /mod/etc/default.samba/samba_conf /tmp/flash/samba/samba_conf
2. nano /tmp/flash/samba/samba_conf
3. Löschen von Zeile 22: security = share
4. Löschen von Zeile 47: echo " user = $SAMBA_SYSTEMUSER"
5. Datei /tmp/flash/samba/samba_conf speichern
3. modsave
4. rc.samba restart

Wenn ich mir dann die aktuelle Samba-Konfiguration in /mod/etc/samba/smb.conf ansehe, dann sehe ich dort alle Einträge, die ich im WebIF definiert habe: ROT entspricht WebIF -> Samba -> Erweitert, ORANGE entspricht WebIF -> Samba -> Freigaben
Code:
root@fritz:/var/mod/root# cat /mod/etc/samba/smb.conf
### global
[global]
netbios name = FRITZ.BOX
workgroup = ARBEITSGRUPPE
server string = %h (Samba %v)
syslog = 1
syslog only = yes
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
socket options = TCP_NODELAY
unix charset = ISO-8859-1
preferred master = yes
os level = 20
security = share
guest account = ftpuser
username map = /mod/etc/samba/users.map
[COLOR="red"]### expert
socket options = TCP_NODELAY IPTOS_LOWDELAY
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
dead time = 15
getwd cache = yes
log file = /var/media/ftp/uStor01/log/sambalog
log level = 8
max log size = 1000[/COLOR]
### default
### shares
[COLOR="darkorange"][freigabe]
 comment = Freigabe
 path = /var/media/ftp/uStor01/freigabe
 guest ok = no
 read only = no
 write cache size = 65536
 user = ftpuser[/COLOR]
...

Wie man sieht, sind die Parameter
Code:
[global]
security = share
und
Code:
[freigabe]
user = ftpuser
immer noch gesetzt.

Das wirft folgende Fragen auf:
1. Welche Datei definiert die Konfiguration von Samba, die aktuell verwendet wird? Ist das "/mod/etc/samba/smb.conf"? Oder eine andere Datei?
2. Welche Datei definiert die Parameter-Vorgaben (bzw. Default-Parameter) für Samba?
3. Wie kann die die Default-Samba-Konfigurationsdatei dauerhaft anpassen?

THX
 
cuma hat dafür im SVN was geändert. Hast du damit ein neues Image gebaut?

Gruß
Oliver
 
cuma hat dafür im SVN was geändert. Hast du damit ein neues Image gebaut?

Gruß
Oliver

Klare Antwort: Nein.
Davon wußte ich bis jetzt noch nichts.

Frage:
Wie verwende ich das "neue" SVN im Image?
Ich nehme an, SVN bezieht sich auf das Modul Samba?
 
Nein, du musst in deiner buildumgebung, bzw. in deinem trunk-checkout ein
Code:
svn up
ausführen um die sämtliche Änderungen zu holen.
Anschliessend ein neues Image bauen/flashen
 
[Edit frank_m24: Vollzitat vom Beitrag direkt darüber gelöscht, siehe Forumregeln.]

OK, klar!
svn up

Frage:
Kann ich die "alte" .config wieder verwenden, oder muss ich mittels "make menuconfig" eine neue erstellen?
 
solang du sie nichts löschst bleibt sie da. Aber ein erneutes make menuconfig wäre gut. Brauchst auch nichts ändern, sondern nur neu speichern.
Vor "make" am Besten noch ein
Code:
make config-clean-deps
 
[Edit frank_m24: Vollzitat gelöscht, siehe Forumregeln.]

Bitte entschuldige meine Hartnäckigkeit:
Aber wo ist die Änderung, dass die Parameter "security = share" und "user = ftpuser" nicht vorbelegt sind?
Oder ist dies dem Umstand geopfert, dass Samba erstmal "Out of the box" funktionieren soll?

Wäre es in diesem Zusammenhang nicht besser, so wenig wie möglich Parameter zu belegen und dem Nutzer die endgültige Konfiguration zu überlassen anstatt elementar wichtige Parameter vorzubelegen, die eine benutzerspezifische Anpassung unmöglich machen?
 
Das Freetz Webinterface ist so gestaltet, dass es dem Nutzer die wichtigsten Optionen zur Auswahl anbietet, so dass auch "Neulinge" eine laufende Konfiguration erstellen können. Für jemand, der die Oberfläche nicht benötigt und die Konfiguration selbst erstellen will wird das jetzt schon mehrmals beschriebene Verfahren empfohlen.

Gruß
Oliver
 
[Edit frank_m24: Vollzitat gelöscht, siehe Forumregeln.]

Das beschriebene Verfahren ist:
1. cp /mod/etc/default.samba/samba_conf /tmp/flash/samba/samba_conf
2. nano /tmp/flash/samba/samba_conf
3. Löschen von Zeile 22: security = share
4. Löschen von Zeile 47: echo " user = $SAMBA_SYSTEMUSER"
5. Datei /tmp/flash/samba/samba_conf speichern
3. modsave
4. rc.samba restart

Falls diese Annahme richtig ist, wieso wird dann in der /mod/etc/samba/smb.conf etwas anderes angezeigt?
Wird dies durch http://freetz.org/changeset/6690 gefixed.
Oder muss ich zusätzlich alle Einstellungen im WebIF rausnehmen?

Wenn ich mir http://freetz.org/changeset/6690 anschaue ist mir nicht klar, was diese Änderung
Code:
/mod/etc/default.samba/samba_conf > $DAEMON_CONFIG
bewirken soll?
 
Die smb.conf sollte dann aus der von dir bearbeiteten Version erzeugt werden. Das wird durch r6990 geändert. Vorher war das nicht so. Nein, du musst nichts aus dem Webinterface rausnehmen.

Ich werde dir jetzt nicht erklären wie modlib_config funktioniert. Wenn es dich interessiert, dann schau in die modlibrc...

Gruß
Oliver
 
Update:
Der Samba-Server läuft jetzt, die Freigaben sind eingerichtet, und ich kann von einem Client selbige anzeigen lassen:
Code:
benutzer@pc:/home$ smbclient -U% -L 192.168.178.1
Domain=[ARBEITSGRUPPE] OS=[Unix] Server=[Samba 3.0.37]

	Sharename       Type      Comment
	---------       ----      -------
	familie         Disk      Freigabe fuer Familie
	public          Disk      Freigabe fuer Gast
	IPC$            IPC       IPC Service (fritz (Samba 3.0.37))
Domain=[ARBEITSGRUPPE] OS=[Unix] Server=[Samba 3.0.37]

	Server               Comment
	---------            -------
	FRITZ.BOX            fritz (Samba 3.0.37)

	Workgroup            Master
	---------            -------
	ARBEITSGRUPPE        FRITZ.BOX

Diese Samba-Konfiguration wird verwendet:
Code:
root@fritz:/var/mod/root# nano /mod/etc/samba/smb.conf
### global
[global]
netbios name = FRITZ.BOX
workgroup = ARBEITSGRUPPE
server string = %h (Samba %v)
syslog = 1
syslog only = yes
encrypt passwords = true
passdb backend = smbpasswd
obey pam restrictions = yes
socket options = TCP_NODELAY
unix charset = ISO-8859-1
preferred master = yes
os level = 20
username map = /mod/etc/samba/users.map
### expert
security = user
smb passwd file = /mod/etc/samba/smbpasswd
unix password sync = yes
passwd program = /bin/passwd %u
socket options = TCP_NODELAY IPTOS_LOWDELAY
read raw = yes
preferred master = yes
os level = 20
username map = /mod/etc/samba/users.map
### expert
security = user
smb passwd file = /mod/etc/samba/smbpasswd
unix password sync = yes
passwd program = /bin/passwd %u
socket options = TCP_NODELAY IPTOS_LOWDELAY
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
dead time = 15
getwd cache = yes
log file = /var/media/ftp/uStor01/log/samba.log.%m
log level = 2
max log size = 1000
### default
### shares
[familie]
 comment = Freigabe fuer Familie
 path = /var/media/ftp/uStor01/home/shares/familie
 guest ok = no
 read only = no
 write cache size = 65536
[public]
 comment = Freigabe fuer Gast
 path = /var/media/ftp/uStor01/home/public
 guest ok = yes
 read only = yes
 write cache size = 65536
[homes]
 comment = Home-Verzeichnisse
 path = /var/media/ftp/uStor01/home
 guest ok = no
 read only = no
 create mask = 0700
 browseable = no
 write cache size = 65536
### fin

Wie sind die Verzeichnis-Berechtigungen:
Code:
root@fritz:/var/mod/root# ls -l /var/media/ftp/uStor01/
-rwxr-xr-x    1 root     root           297 Mar 23 07:06 autoend.sh
-rwxr-xr-x    1 root     root           549 Mar 23 07:06 autorun.sh
drwxr-xr-x    4 root     root          1024 Mar 25 01:41 external
drwxr-xr-x    8 root     root          1024 Mar 23 07:06 home
drwxr-xr-x    2 root     root          1024 Mar 26 01:02 log
drwx------    2 root     root         12288 Mar 23 07:04 lost+found
drwxr-xr-x    2 root     root          1024 Mar 23 07:06 vsftp_user_conf

root@fritz:/var/mod/root# ls -l /var/media/ftp/uStor01/home/
drwx------    4 benutzer  familie        1024 Mar 23 07:06 benutzer
drwxr-xr-x    2 root     root          1024 Mar 23 07:06 ftp
drwxr-xr-x    2 root     root          1024 Mar 23 07:06 public
drwxr-xr-x    5 root     root          1024 Mar 23 07:06 shares

Das Problem besteht darin, dass ich nur auf die Freigabe "public" ohne Passwort zugreifen kann. Für alle anderen Freigaben erscheint ein Dialog zur Passwort-Abfrage. Die Eingabe des gewählten Passworts in smbpasswd ist aber ungültig:
Code:
benutzer@pc:/home$ smbclient //192.168.100.3/familie
Enter benutzer's password: 
session setup failed: NT_STATUS_LOGON_FAILURE

Mit FTP funktioniert dagegen alles fehlerfrei, d.h. wenn ich mich als "benutzer" anmelde, dann lande ich im Home-Verzeichnis von "benutzer".

Wo ist das Problem mit der Zugangsberechtigung bei Samba?
 
Samba verwendet nicht die /etc/passwd zur Authentifizierung. Wie sieht deine smbpasswd aus? Stehen da alle Benutzer drin?

Gruß
Oliver
 
Samba verwendet nicht die /etc/passwd zur Authentifizierung. Wie sieht deine smbpasswd aus? Stehen da alle Benutzer drin?

Gruß
Oliver

In der /mod/etc/samba/smbpasswd steht:
Code:
root@fritz:/var/media/ftp# cat /mod/etc/samba/smbpasswd 
benutzer:1001:7FD984BEE4212163FA3E865FED4C1ABC:6DFCBF07B5D8CEC3817B0248DCFC25B9:[U          ]:LCT-00000001:
gast:1008:4F807388B5832D61DCD0280C6FF99ABC:84B39BFDE93E7989883531FB777D75A9:[U          ]:LCT-00000001:

Ich habe diese Datei wie im 1. Posting erstellt, d.h.
1. nano /var/tmp/smbpasswd.cleartext
2. smbpasswd
3. cp /mod/etc/samba/smbpasswd /var/tmp/flash
4. modsave all
5. echo 0 > /tmp/flash/security
6. In rc.custom: cat /var/tmp/flash/smbpasswd > /mod/etc/samba/smbpasswd

Es sieht so aus als ob die Passwort-Datei nicht gelesen oder gefunden wird und deshalb keine Authentifizierung gemacht wird.
 
Ist dies ein techn. Problem mit der FB 7390?
Dieser Thread könnte das implizieren.
 
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.