Samba
(→Konfigurationsdatei) |
Wirbel (Diskussion | Beiträge) (→Installation) |
||
| (35 dazwischenliegende Versionen von 20 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== | ==Konfigurationsdatei== | ||
| Zeile 82: | Zeile 59: | ||
</pre> | </pre> | ||
| − | So jetzt noch einen Samba-User anlegen | + | So jetzt noch einen Samba-User (user gegen Name austauschen!) anlegen: |
<pre> | <pre> | ||
| Zeile 88: | Zeile 65: | ||
</pre> | </pre> | ||
| − | + | Die User müssen in der Datei /etc/passwd des Systems existieren bzw. neu eingetragen werden: | |
<pre> | <pre> | ||
| Zeile 94: | Zeile 71: | ||
</pre> | </pre> | ||
| − | Jetzt erstmal Samba von Hand starten. | + | Jetzt erstmal Samba von Hand neu starten. |
<pre> | <pre> | ||
smbd | smbd | ||
nmbd | nmbd | ||
| + | </pre> | ||
| + | oder mit: | ||
| + | |||
| + | <pre> | ||
| + | /etc/init.d/samba restart | ||
</pre> | </pre> | ||
Mit | Mit | ||
| − | <pre> smbclient -L localhost </pre> | + | <pre> smbclient -L localhost -U user</pre> |
kann man erstmal nachsehen, ob Samba richtig arbeitet. | kann man erstmal nachsehen, ob Samba richtig arbeitet. | ||
| Zeile 110: | 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== | ||
| + | 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 | + | * Wenn Umlaute nicht korrekt dargestellt werden, könnte das an einem falschen Zeichensatz liegen. Man sollte folgende Einträge prüfen oder setzen. |
<pre> | <pre> | ||
[global] | [global] | ||
client code page = 850 | client code page = 850 | ||
| − | character set = ISO8859-15 (in einigen Samba Versionen | + | 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): | ||
| + | <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]] | [[Kategorie:Software]] | ||
| + | [[ru:Samba]] | ||
Aktuelle Version vom 1. September 2013, 12:33 Uhr
Inhaltsverzeichnis[Verbergen] |
[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