Samba

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Installation)
 
(61 dazwischenliegende Versionen von 34 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
Über [[Samba]] kann man Verzeichnisse unter Linux als Netzwerkfreigaben unter Windows zu Verfügung stellen. Kurz: Wer mit seinem Windows-Rechner an die Daten des VDR kommen möchte, der ist hier richtig.
+
==Einleitung==
 +
Mit [[Samba]] kann man Verzeichnisse eines Rechners (z. B. die des VDRs) als Netzwerkfreigaben zu Verfügung stellen. Wer beispielsweise mit seinem Windows-Rechner an die Daten des VDR kommen möchte, der ist hier richtig.
  
=Probleme=
+
==Konfigurationsdatei==
==Windows-Explorer friert für mehrere Sekunden ein==
+
Wenn beim Zugriff auf eine Verzeichnisfreigabe von Windows XP aus der Explorer einfach für ein paar Minuten einfriert, so kann man dies umgehen, indem man den WebClient-Dienst in den Windows-Diensten abschaltet.
+
  
=Installation=
+
Die folgenden Zeilen müssen in die Datei samba.conf eingetragen werden. Der Wert "Path" muss an die eigenen Pfade angepasst werden!
 +
 
 +
{{Box Datei| /etc/samba/smb.conf |
 +
<pre>
 +
[global]
 +
        workgroup = WORKGROUP
 +
        encrypt passwords = yes
 +
        security = user
 +
        getwd cache = yes
 +
[video]
 +
        path = /video
 +
        comment = /video
 +
        browseable = yes
 +
        read only = no
 +
        directory mask = 0775
 +
        create mask = 0755
 +
[mp3]
 +
        path = /mp3
 +
        comment = /mp3
 +
        browseable = yes
 +
        read only = no
 +
        directory mask = 0775
 +
        create mask = 0755
 +
</pre>
 +
}}
 +
 
 +
Weitere sinnvolle Ergänzungen an der smb.conf:
 +
 
 +
{{Box Datei| /etc/samba/smb.conf |
 +
<pre>
 +
[root]
 +
        comment = Administration
 +
        path = /
 +
        writeable = yes
 +
        public = yes
 +
        create mode = 0755
 +
        #veto files = /.*/.?/
 +
        force user = root
 +
        force group = root
 +
[media]
 +
        comment = Media (Mplayer, MP3 usw)
 +
        path = /media
 +
        writeable = yes
 +
        public = yes
 +
        create mode = 0755
 +
        force user = root
 +
        force group = root
 +
</pre>
 +
}}
 +
 
 +
Jetzt die neue smb.conf testen, ob alles i.O. ist:
 +
<pre>
 +
testparm /etc/samba/smb.conf
 +
</pre>
 +
 
 +
So jetzt noch einen Samba-User (user gegen Name austauschen!) anlegen:
 +
 
 +
<pre>
 +
adduser user
 +
</pre>
 +
 
 +
Die User müssen in der Datei /etc/passwd des Systems existieren bzw. neu eingetragen werden:
 +
 
 +
<pre>
 +
smbpasswd -a user
 +
</pre>
 +
 
 +
Jetzt erstmal Samba von Hand neu starten.
 +
 
 +
<pre>
 +
smbd
 +
nmbd
 +
</pre>
 +
oder mit:
 +
 
 +
<pre>
 +
/etc/init.d/samba restart
 +
</pre>
 +
 
 +
Mit
 +
<pre> smbclient -L localhost -U user</pre>
 +
kann man erstmal nachsehen, ob Samba richtig arbeitet.
 +
 
 +
Falls man die Änderungen gemacht hat, während Samba schon lief, sollte Samba nun neu gestartet werden, damit er die Änderungen übernimmt.
 +
 
 +
<pre>
 +
/etc/init.d/samba restart
 +
</pre>
 +
 
 +
 
 +
Hier eine Beispielkonfiguration, die es _jedem Nutzer_ im LAN ohne Passwortabfrage gestattet, auf den Share lesend und schreibend zugreifen zu können. (Achtung!! Nur für sichere Heimnetzwerke!!)
 +
 +
{{Box Datei| /etc/samba/smb.conf |
 +
<pre>
 +
[global]
 +
unix charset = iso8859-15
 +
workgroup = "Arbeitsgruppe.Home"
 +
server string = %h
 +
security = SHARE
 +
obey pam restrictions = Yes
 +
syslog = 0
 +
log file = /var/log/samba/log.%m
 +
max log size = 500
 +
os level = 33
 +
dns proxy = No
 +
ldap ssl = no
 +
panic action = /usr/share/samba/panic-action %d
 +
invalid users = root
 +
[video]
 +
comment = VDR-Aufzeichnungen
 +
path = /var/lib/video.00
 +
force user = vdr
 +
read only = No
 +
acl check permissions = No
 +
create mask = 0777
 +
force create mode = 0777
 +
force security mode = 0777
 +
force directory mode = 0777
 +
guest ok = Yes
 +
</pre>
 +
}}
 +
 
 +
==Mounten von Shares==
 +
Ihr müsst als erstes das Filesystem von Samba installieren, mit dem Namen smbfs. Unter Debian z. B. einfach "apt-get install smbfs". Wenn ihr das habt, könnt ihr mit folgendem Befehl ein Share auf eurem Client mounten (QUELLE hat die Form //rechnername/share oder //ipaddresse/share, wobei share der Freigabename in [] in der smb.conf Datei ist):
 +
<pre>
 +
mount -t smbfs -o username=user,passwd=pw,auto,rw,fmask=777,dmask=777 QUELLE ZIEL
 +
</pre>
 +
 
 +
Wenn mit dem oben genannten Befehl Probleme à la "smb_proc_readdir_long" habt, dann versucht es mal mit cifs:
 +
<pre>
 +
mount -t cifs -o username=user,password=pw,rw QUELLE ZIEL
 +
</pre>
 +
 
 +
Wenn ihr wollt, dass beim Booten der Share automatisch eingebunden wird, müsst ihr einen Eintrag in /etc/fstab machen. Das Schema ist hier etwas anders:
 +
<pre>
 +
QUELLE ZIEL smbfs username=user,passwd=pw,auto,rw,fmask=777,dmask=777 0 0
 +
</pre>
 +
 
 +
oder mit cifs:
 +
<pre>
 +
QUELLE ZIEL cifs noauto,credentials=/etc/.fbcredentials 0 0
 +
</pre>
 +
 
 +
/etc/.sambacredentials
 +
<pre>
 +
username=NAME
 +
password=PASSWORT
 +
</pre>
 +
 
 +
Hinweis: smbfs ist veraltet, besser ist es cifs zu benutzen.
 +
 
 +
==Probleme==
 +
* Wenn beim Zugriff eines WinXP PCs auf eine Sambafreigabe der PC einige Minuten einfriert, sollte der WebClient-Dienst in den Windows-Diensten abgeschaltet werden.
 +
 
 +
* Wenn Umlaute nicht korrekt dargestellt werden, könnte das an einem falschen Zeichensatz liegen. Man sollte folgende Einträge prüfen oder setzen.
 +
<pre>
 +
[global]
 +
client code page = 850
 +
character set = ISO8859-15 #(in einigen Samba Versionen heißt es: unix character set = ISO8859-15)
 +
</pre>
 +
* Bei Debian (Samba Version 3.0.14a-Debian):
 +
<pre>
 +
[global]
 +
unix charset = ISO8859-15
 +
dos charset = 850
 +
#oder
 +
#unix charset = CP932 / eucJP-ms / UTF-8
 +
#dos charset = CP932
 +
</pre>
 +
* Wer eine Linux-Samba-Share auf einem andere Samba mit smbmount einbinden möchte
 +
<pre>
 +
[global]
 +
unix charset = CP850</pre>
 +
 
 +
 
 +
Überprüfen sollte man auch die Dateirechte im Linux-System und gegebenenfalls mit chmod anpassen. Also z.B. um vom Windowsrechner auch Schreibrechte zu haben, muss der (Samba-)Benutzer Schreibrecht im entsprechenden Verzeichnis unter Linux haben. Dazu chmod -R u+w /verzeichnis und chown benutzername /verzeichnis
 +
 
 +
==Links==
 +
# [http://us1.samba.org/samba Samba Homepage]
 +
 
 +
[[Kategorie:Software]]
 +
[[ru:Samba]]

Aktuelle Version vom 1. September 2013, 12:33 Uhr

Inhaltsverzeichnis

[Bearbeiten] Einleitung

Mit Samba kann man Verzeichnisse eines Rechners (z. B. die des VDRs) als Netzwerkfreigaben zu Verfügung stellen. Wer beispielsweise mit seinem Windows-Rechner an die Daten des VDR kommen möchte, der ist hier richtig.

[Bearbeiten] Konfigurationsdatei

Die folgenden Zeilen müssen in die Datei samba.conf eingetragen werden. Der Wert "Path" muss an die eigenen Pfade angepasst werden!

Datei
/etc/samba/smb.conf
[global]
        workgroup = WORKGROUP
        encrypt passwords = yes
        security = user
        getwd cache = yes
[video]
        path = /video
        comment = /video
        browseable = yes
        read only = no
        directory mask = 0775
        create mask = 0755
[mp3]
        path = /mp3
        comment = /mp3
        browseable = yes
        read only = no
        directory mask = 0775
        create mask = 0755


Weitere sinnvolle Ergänzungen an der smb.conf:

Datei
/etc/samba/smb.conf
[root]
        comment = Administration
        path = /
        writeable = yes
        public = yes
        create mode = 0755
        #veto files = /.*/.?/
        force user = root
        force group = root
[media]
        comment = Media (Mplayer, MP3 usw)
        path = /media
        writeable = yes
        public = yes
        create mode = 0755
        force user = root
        force group = root


Jetzt die neue smb.conf testen, ob alles i.O. ist:

testparm /etc/samba/smb.conf

So jetzt noch einen Samba-User (user gegen Name austauschen!) anlegen:

adduser user

Die User müssen in der Datei /etc/passwd des Systems existieren bzw. neu eingetragen werden:

smbpasswd -a user

Jetzt erstmal Samba von Hand neu starten.

smbd
nmbd

oder mit:

/etc/init.d/samba restart

Mit

 smbclient -L localhost -U user

kann man erstmal nachsehen, ob Samba richtig arbeitet.

Falls man die Änderungen gemacht hat, während Samba schon lief, sollte Samba nun neu gestartet werden, damit er die Änderungen übernimmt.

/etc/init.d/samba restart


Hier eine Beispielkonfiguration, die es _jedem Nutzer_ im LAN ohne Passwortabfrage gestattet, auf den Share lesend und schreibend zugreifen zu können. (Achtung!! Nur für sichere Heimnetzwerke!!)

Datei
/etc/samba/smb.conf
[global]
	unix charset = iso8859-15
	workgroup = "Arbeitsgruppe.Home"
	server string = %h
	security = SHARE
	obey pam restrictions = Yes
	syslog = 0
	log file = /var/log/samba/log.%m
	max log size = 500
	os level = 33
	dns proxy = No
	ldap ssl = no
	panic action = /usr/share/samba/panic-action %d
	invalid users = root
[video]
	comment = VDR-Aufzeichnungen
	path = /var/lib/video.00
	force user = vdr
	read only = No
	acl check permissions = No
	create mask = 0777
	force create mode = 0777
	force security mode = 0777
	force directory mode = 0777
	guest ok = Yes


[Bearbeiten] Mounten von Shares

Ihr müsst als erstes das Filesystem von Samba installieren, mit dem Namen smbfs. Unter Debian z. B. einfach "apt-get install smbfs". Wenn ihr das habt, könnt ihr mit folgendem Befehl ein Share auf eurem Client mounten (QUELLE hat die Form //rechnername/share oder //ipaddresse/share, wobei share der Freigabename in [] in der smb.conf Datei ist):

mount -t smbfs -o username=user,passwd=pw,auto,rw,fmask=777,dmask=777 QUELLE ZIEL

Wenn mit dem oben genannten Befehl Probleme à la "smb_proc_readdir_long" habt, dann versucht es mal mit cifs:

mount -t cifs -o username=user,password=pw,rw QUELLE ZIEL

Wenn ihr wollt, dass beim Booten der Share automatisch eingebunden wird, müsst ihr einen Eintrag in /etc/fstab machen. Das Schema ist hier etwas anders:

QUELLE ZIEL smbfs username=user,passwd=pw,auto,rw,fmask=777,dmask=777 0 0

oder mit cifs:

QUELLE ZIEL cifs noauto,credentials=/etc/.fbcredentials 0 0

/etc/.sambacredentials

username=NAME
password=PASSWORT

Hinweis: smbfs ist veraltet, besser ist es cifs zu benutzen.

[Bearbeiten] Probleme

  • Wenn beim Zugriff eines WinXP PCs auf eine Sambafreigabe der PC einige Minuten einfriert, sollte der WebClient-Dienst in den Windows-Diensten abgeschaltet werden.
  • Wenn Umlaute nicht korrekt dargestellt werden, könnte das an einem falschen Zeichensatz liegen. Man sollte folgende Einträge prüfen oder setzen.
[global]
client code page = 850
character set = ISO8859-15 #(in einigen Samba Versionen heißt es: unix character set = ISO8859-15)
  • Bei Debian (Samba Version 3.0.14a-Debian):
[global]
unix charset = ISO8859-15
dos charset = 850
#oder
#unix charset = CP932 / eucJP-ms / UTF-8
#dos charset = CP932
  • Wer eine Linux-Samba-Share auf einem andere Samba mit smbmount einbinden möchte
[global]
unix charset = CP850


Überprüfen sollte man auch die Dateirechte im Linux-System und gegebenenfalls mit chmod anpassen. Also z.B. um vom Windowsrechner auch Schreibrechte zu haben, muss der (Samba-)Benutzer Schreibrecht im entsprechenden Verzeichnis unter Linux haben. Dazu chmod -R u+w /verzeichnis und chown benutzername /verzeichnis

[Bearbeiten] Links

  1. Samba Homepage
In anderen Sprachen