Samba

Aus VDR Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Konfigurationsdatei)
(Installation)
 
(15 dazwischenliegende Versionen von 11 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
==Einleitung==
 
==Einleitung==
Mit [[Samba]] kann man Verzeichnisse eines Rechners (z.B. des VDR) als Netzwerkfreigaben zu Verfügung stellen. Wer beispielsweise mit seinem Windows-Rechner an die Daten des VDR kommen möchte, der ist hier richtig.
+
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.
 
+
==Installation==
+
===Source===
+
<pre>
+
cd $SOURCEDIR
+
tar xzvf samba-latest.tar.bz2
+
mkdir -p /etc/samba \
+
        /var/lock/samba
+
cd /samba-<VERSION>/source
+
./configure --prefix=/usr/local \
+
            --bindir=/usr/local/bin \
+
            --sbindir=/usr/local/sbin \
+
            --libdir=/etc/samba \
+
            --sysconfdir=/etc/samba \
+
            --with-smbmount
+
make
+
make install
+
</pre>
+
 
+
===[[Crux]]===
+
prt-get depinst samba
+
 
+
===[[Debian]]===
+
apt-get install samba
+
 
+
===[[Gentoo]]===
+
emerge samba
+
 
+
===[[SuSE]]===
+
yast -i ???????????????????????
+
  
 
==Konfigurationsdatei==
 
==Konfigurationsdatei==
Zeile 122: Zeile 92:
 
/etc/init.d/samba restart
 
/etc/init.d/samba restart
 
</pre>
 
</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==
 
==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:
+
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>
 
<pre>
 
mount -t smbfs -o username=user,passwd=pw,auto,rw,fmask=777,dmask=777 QUELLE ZIEL
 
mount -t smbfs -o username=user,passwd=pw,auto,rw,fmask=777,dmask=777 QUELLE ZIEL
 
</pre>
 
</pre>
  
Wenn mit dem oben genannten Befehl probleme à la "smb_proc_readdir_long" habt, dann versucht es mal mit cifs:
+
Wenn mit dem oben genannten Befehl Probleme à la "smb_proc_readdir_long" habt, dann versucht es mal mit cifs:
 
<pre>
 
<pre>
 
mount -t cifs -o username=user,password=pw,rw QUELLE ZIEL
 
mount -t cifs -o username=user,password=pw,rw QUELLE ZIEL
 
</pre>
 
</pre>
  
Wenn ihr wollt das bei dem booten der Share automatisch eingebunden wird müsst ihr einen Eintrag in /etc/fstab machen. Das Schema ist hier etwas anders:
+
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>
 
<pre>
 
QUELLE ZIEL smbfs username=user,passwd=pw,auto,rw,fmask=777,dmask=777 0 0
 
QUELLE ZIEL smbfs username=user,passwd=pw,auto,rw,fmask=777,dmask=777 0 0
 
</pre>
 
</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==
 
==Probleme==
Zeile 146: Zeile 162:
 
[global]
 
[global]
 
client code page = 850
 
client code page = 850
character set = ISO8859-15 #(in einigen Samba Versionen heisst es: unix character set = ISO8859-15)
+
character set = ISO8859-15 #(in einigen Samba Versionen heißt es: unix character set = ISO8859-15)
 
</pre>
 
</pre>
Bei Debian (Samba Version 3.0.14a-Debian):
+
* Bei Debian (Samba Version 3.0.14a-Debian):
 
<pre>
 
<pre>
 
[global]
 
[global]
Zeile 157: Zeile 173:
 
#dos charset = CP932
 
#dos charset = CP932
 
</pre>
 
</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
+
* 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==
 
==Links==

Aktuelle Version vom 1. September 2013, 13: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