Samba
Inhaltsverzeichnis |
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.
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 ???????????????????????
Konfigurationsdatei
Die folgenden Zeilen müssen in die Datei samba.conf eingetragen werden. Der Wert "Path" muss an die eigenen Pfade angepasst werden!
[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:
[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
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
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 heisst 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
- Ü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