Samba

Aus VDR Wiki
Wechseln zu: Navigation, Suche

Inhaltsverzeichnis

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.

Installation

Source

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 

Crux

prt-get depinst samba

Debian

apt-get install samba

Gentoo

emerge samba

SuSE

yast -i ???????????????????????

oder zypper in yast2-samba-server

Arch-Linux

pacman -S samba

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


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.

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

Links

  1. Samba Homepage
In anderen Sprachen