[samba] Ordnerfreigaben mit Windows Clients

GNU/Linux-, *BSD- und Fricklerforum
Antworten
stik
Phobos
Phobos
Beiträge: 27
Registriert: Okt 2003

[samba] Ordnerfreigaben mit Windows Clients

Beitrag von stik »

Hallo zusammen,
über die Suche habe ich leider keine passenden Beiträge gefunden, die mir helfen würden. Als Linux Neuling könnt ihr mir vielleicht weiterhelfen :wave:
Ich habe als Konfiguration eine Plugbox (quasi ein kleines USB NAS) auf dem ich mit Frickelei archlinuxarm installiert habe. An der Box sind USB Platten angeschlossen, die Box ist über LAN mit dem restlichen Netzwerk verbunden.
Sonstige Rechner sind eigentlich hauptsächlich Win7 und XP Rechner.

Der Grundgedanke ist per minidlna von den Festplatten Filme abzugreifen, per Samba die kompletten Daten zu verwalten (das soll nur ich können) und außerdem für den Rest des Netzwerkes einzelne Ordner vergeben zu können, in die jeder schreiben und lesen kann.
Mit ein bisschen rumprobiererei klappt der Zugang über minidlna auch so wie gewünscht, auch mit Samba kann ich auf die Platten zugreifen. Bisher bekomme ich das aber nur so hin, dass ich entweder vollen Zugriff auf alles (bzw auf einen vollen Pfad) oder keinen Zugriff habe. Schreiben kann ich nur, wenn ich unter

Code: Alles auswählen

[global] guest account = root 
definiert habe.

Ich vermute ich mache irgendetwas mit den User Accounts falsch, blicke da aber überhaupt nicht durch.

Jonas-7 ist mein Windows 7 Rechner, dieser soll komplett Zugriff auf /media haben.

Für den Rest des Netzwerks würde ich gerne den Ordner /media/1.5TB/HALDE/ bereitstellen, da darf dann auch jeder gerne reingucken und machen was er will.


meine smb.conf sieht momentan wie folgt aus.

Code: Alles auswählen

[global]
workgroup = WORKGROUP
server string = ALARM
netbios name = Samba PogoPlug
security = share
#guest account = root
encrypt passwords = yes
load printers = no
printing = bsd
printcap name = /dev/null
log file = /var/log/samba/%m.log
max log size = 50
dns proxy = no
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_SNDBUF=131072 SO_KEEPALIVE
hosts allow = 192.168.178.


[External]
path = /media/
comment = Von Jonas
browseable = yes
read only = no
writeable = yes
valid users = Jonas-7
public = no

[Freigabe]
path = /media/1.5TB/HALDE/
comment = fuer alle
browseable = yes
writeable = yes
guest ok = yes
create mode = 777
directory mode = 777
# chmod = 777

Muss ich per adduser noch irgendwas ändern oder etwas in die hosts eintragen?
Bin wie gesagt auf dem Gebiet eher ratlos und würde mich sehr über Hilfe freuen!

€: falls da noch irgendwelche saudumme Fehler drin sind, würde ich die natürlich auch gerne ausmerzen :D Die ganze Geschichte soll auch erstmal nur im lokalen Netzwerk funktionieren, ist der Eintrag dann über

Code: Alles auswählen

hosts allow = 192.168.178.
richtig gelöst?
Michelangelo
Angel
Angel
Beiträge: 597
Registriert: Apr 2001

Beitrag von Michelangelo »

Dein hosts allow Eintrag sieht soweit gut aus, allerdings ersehe ich keinen tieferen Nutzwert in diesem Eintrag. Ich gehe stark von aus das du nur ein Subnet Zuhause hast und wenn sich jemand in dein Netzwerk einklinken sollte hat er so oder so Zugriff auf die Shares, also irgendwie ein bisschen hinfällig das ganze und zwingend notwending um Samba betreiben zu können ist er auch nicht.

Ansonsten:
- Stell sicher das die User die an deinen PCs eingerichtet sind, 1:1 (mit selben Passwort) auf Unix-Ebene wie auch Samba eingerichtet sind.
- Benutze "testparm" in der Konsole um dir eine eventuelle Fehlkonfiguration anzeigen zu lassen

edith sagt:
Was steht denn in deinen samba log files drin? Irgendwas muss ja bei den fehlgeschlagenen Einlog-Versuchen gelogt werden.
stik
Phobos
Phobos
Beiträge: 27
Registriert: Okt 2003

Beitrag von stik »

Danke schonmal für die Antwort! :)

In /var/log/samba/log.smbd steht:

Code: Alles auswählen

[2011/06/27 11:23:08,  0] smbd/server.c:1119(main)
  smbd version 3.5.8 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2010
In /var/log/samba/smbd.log steht:

Code: Alles auswählen

[2011/06/27 11:23:08.274093,  0] smbd/server.c:500(smbd_open_one_socket)
  smbd_open_once_socket: open_socket_in: Address already in use
[2011/06/27 11:23:08.289029,  0] smbd/server.c:500(smbd_open_one_socket)
  smbd_open_once_socket: open_socket_in: Address already in use
Die anderen Logs waren soweit ich das sehen konnte leer. Testparm sagt alles ist in Ordnung, bzw schmeißt keine Fehlermeldungen raus.
Ich habe jetzt einen User jonas7 per adduser und auch per smbpasswd -a auf der Box angelegt und auch den Windows Nutzer Namen entsprechend angepasst.
Trotzdem komme ich nur so weit wie vorher;
Den Share [External] kann ich im Explorer sehen, aber nicht öffnen. Da kommt dann das Windows Anmelde Fenster, weiter komme ich allerdings nicht.
Bei Share [Freigabe]kann ich mich umsehen, aber habe keine Schreibrechte.

hm :(

€:lal, ich glaub ich habs gerade gelöst. Schreibe gleich ein Update falls ja :ugly:
stik
Phobos
Phobos
Beiträge: 27
Registriert: Okt 2003

Beitrag von stik »

Ich glaube ich bin ein gutes Stück weiter. Habe nochmal den user in Unix, smbpasswd und auch in Windows so geändert, dass der Name identisch ist.
Das hat mich allerdings zuerst nicht weitergebracht, bzw kam ich genauso weit wie vorher.
Unter [Global] security auf user anstelle von share zu stellen hat allerdings anscheinend geholfen :) Jetzt kann ich mich mit jonas7 auf [External] anmelden und dort auch lesen und schreiben. [Freigabe] kann ich auch nutzen, allerdings kann ich dort wohl nur mit jonas7 schreiben. Ein 2ter Rechner hat zwar ebenfalls lese Zugriff, kann aber nicht schreiben.



Gibt es da noch eine Lösung? Ich würde gerne so etwas wie

Code: Alles auswählen

valid users = @WORKGROUP
realisieren, das scheint aber so zumindest nicht zu funktionieren. Habe ich da vielleicht einen Fehler im create mode oder so? Oder muss ich generell für alle die einen Schreibzugriff haben, einen Unix & Samba Account anlegen? Das würde ich eigentlich gerne vermeiden.
Der Rechner, der zwar Zugriff auf [Freigabe] hat, ist auch ein Windows7 Rechner, allerdings ohne Windows Passwort.

Anbei noch einmal meine aktuelle smb.conf, auskommentierte Befehle stehen eigentlich nur noch drin, weil ich einfach alles getestet habe, was mir unter die Finger kam..

Code: Alles auswählen


[global]
##Serverkram
workgroup = WORKGROUP
netbios name = Samba PogoPlug
server string = ALARM
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=131072 SO_S$
#obey pam restrictions = yes
map to guest = bad user
#dns proxy = no
log file = /var/log/samba/%m.log
max log size = 500
##Zugang
security = user
encrypt passwords = true
guest account = nobody
smb passwd file = /opt/etc/samba/smbpasswd
#unix password sync = yes
#hosts allow = 192.168.178.

##Drucker
load printers = no
printing = bsd
printcap name = /dev/null
#passwd program = /usr/bin/passwd %u
#passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\$


[External]
path = /media/
comment = Von Jonas
browseable = yes
writeable = yes
valid users = jonas7
public = no

[Freigabe]
path = /media/1.5TB/HALDE/
comment = fuer alle
browseable = yes
writeable = yes
guest ok = yes
create mode = 777
directory mode = 777

EDIT: Es funktioniert wohl, wenn ich unter [global] den

Code: Alles auswählen

guest account = nobody
auf

Code: Alles auswählen

guest account = root
stelle. Aber das ist wahrscheinlich keine besonders elegante Lösung oder? Oder stellt das kein Sicherheitsrisiko dar? Bzw welche Möglichkeiten hätte der Gast, außerhalb des Shares [Freigabe]?


EDIT2: Ich habe nun einfach einen neuen User angelegt, mit dem sich der zweite Ordner bearbeiten lässt. So habe ich das root gefrickel nicht drin und das sollte eigentlich so reichen. Mal sehen :)
Antworten