Samba
(→/etc/samba/smb.conf) |
Wirbel (Diskussion | Beiträge) (→Installation) |
||
(50 dazwischenliegende Versionen von 28 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Einleitung== | ==Einleitung== | ||
− | Mit [[Samba]] kann man Verzeichnisse eines Rechners (z.B. des | + | 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. |
− | == | + | ==Konfigurationsdatei== |
− | + | ||
− | + | 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> | <pre> | ||
[global] | [global] | ||
Zeile 41: | Zeile 28: | ||
create mask = 0755 | create mask = 0755 | ||
</pre> | </pre> | ||
+ | }} | ||
Weitere sinnvolle Ergänzungen an der smb.conf: | Weitere sinnvolle Ergänzungen an der smb.conf: | ||
+ | {{Box Datei| /etc/samba/smb.conf | | ||
<pre> | <pre> | ||
− | |||
[root] | [root] | ||
− | comment = Administration | + | comment = Administration |
− | path = / | + | path = / |
− | writeable = yes | + | writeable = yes |
− | public = yes | + | public = yes |
− | create mode = 0755 | + | create mode = 0755 |
− | #veto files = /.*/.?/ | + | #veto files = /.*/.?/ |
− | force user = root | + | force user = root |
− | force group = root | + | force group = root |
− | + | ||
[media] | [media] | ||
− | comment = Media (Mplayer, MP3 usw) | + | comment = Media (Mplayer, MP3 usw) |
− | path = /media | + | path = /media |
− | writeable = yes | + | writeable = yes |
− | public = yes | + | public = yes |
− | create mode = 0755 | + | create mode = 0755 |
− | force user = root | + | force user = root |
− | force group = root | + | force group = root |
</pre> | </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== | ==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 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== | ==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!
[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
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!!)
[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]
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