Menu Content/Inhalt
Home arrow Samba arrow Konfiguration von Samba
Konfiguration von Samba PDF Drucken E-Mail
Die Samba-Konfiguration ist im file "smb.conf" gespeichert, welches sich (üblicherweise) in /etc/samba befindet bzw. befinden wird.

Alternativ dazu kann es sich auch in /usr/local/lib/samba befinden.

Wir werden dieses file editieren, und auf die Nutzung graphischer Tools, wie zum Beispiel SWAT, verzicBhten, da diese vor allem für Blinde Menschen schwer zu manipulieren sind.

Die Syntax, die in smb.conf zur Anwendung kommt, erinnert an die Syntax von ".ini"-files aus der alten MS Windows Welt. (MS Windows is a trademark!).
Das file ist in mehrere Sektionen aufgeteilt, die mit in eckigen Klammern eingeschlossenen "Sektionsnamen" eingeleitet (begonnen) werden.
Diesen "Titeln" folgen keine oder eine, oder mehrere Zeilen von sogenannten "key-value-pairs", die durch ein istgleich-Zeichen voneinander getrennt sind. (key - Schlüsselwort, value = (dem key zugewiesener) Wert)

Jede Sektion repräsentiert entweder eine "share" (Anteil) oder ein meta-service am samba-server.
Die section [global] hat eine Besonderheit, da sie alle settings beinhaltet, die für die gesamte samba-serverumgebung gelten.
[homes] ist ein Beispiel für ein meta-service, das samba veranlasst, für jeden user ein eigenes home-share anzubieten.

Es gibt viele Beispiel-Konfigurationen im Internet, aber vor allem im samba-tarball des Pakets!

Ein ganz simples Beispiel für ein smb.conf siehe Beispiel_smb.con_0 

Jetzt haben wir gehört, dass dieses smb.conf-file nicht UNBEDINGT in /etc/samba liegen muss, da es von der Kompilierung des binaries abhängt. Aber, es gibt ein Tool, mit dem man danach fragen kann ...

root# smbd -b |grep smb.conf
CONFIGFILE: /etc/samba/smb.conf
root#
Spätestens jetzt wissen wir es ganz genau.
Auf der (windows) Clientseite muss die workgroup (Arbeitsgruppe) mit der hier angegebenen übereinstimmen
root# testparm /etc/samba/smb.conf
testparm /etc/samba/smb.conf
Load smb config files from /etc/samba/smb.conf
Processing section "[folder]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
workgroup = BBFZ
security = SHARE

[folder]
comment = freigegebener Ordner
path = /home
guest ok = Yes
root#
so kann man seine Konfiguration auf Fehler überprüfen. Ein Tipp: Legen Sie sich die configs unter /etc/samba so an, dass sie anders heissen; z.B. smb.conf.20feb2007, darin können Sie eine Menge an Kommentaren zu den einzelnen settings anbringen - ABER, das smb.conf-file ist schöner ohne Kommentare, daher gibt es auch die MÖglichkeit, den output von testparm in das file smb.conf umzuleiten - 's funktioniert!
root# testparm -s /etc/samba/smb.conf.20feb2007 > /etc/samba/smb.conf
root#
Wenn ein Fehler in der config vorhanden ist, wird dieser von testparm aufgespürt und lautstark vermeldet!
root# smbclient -L localhost -U%
Domain=[BBFZ] OS=[Unix] Server=[Samba 3.0.20b-3.8-1162-SUSE]

Sharename Type Comment
--------- ---- -------
home Disk freigegebener Ordner
IPC$ IPC IPC Service (Samba 3.0.20b-3.8-1162-SUSE)
ADMIN$ IPC IPC Service (Samba 3.0.20b-3.8-1162-SUSE)
Domain=[BBFZ] OS=[Unix] Server=[Samba 3.0.20b-3.8-1162-SUSE]

Server Comment
--------- -------
FS Samba 3.0.20b-3.8-1162-SUSE

Workgroup Master
--------- -------
BBFZ
root#
Auf diesem server an unserem Institut läuft SUSE mit Samba 3.0.20b, das erwähne ich, weil wir während der Projektwoche eher auf 3.0.22 von Ubuntu kommen - die Unterschiede wirken sich aber in den smb.conf's nicht aus.
so konnten Sie checken, welche services am server angeboten werden, und ob der server für Verbindungsaufnahmen bereit ist. Ihr Rechnername sollte zumindest in /etc/hosts eingetragen sein.
Es wird von samba.org empfohlen, diesen check zu wiederholen, nachdem das service 15 Minuten lang gelaufen ist.
root# smbclient -L <hostname> -Uroot%<password>
...
root#
Für dieses erste smb.conf gilt, dass die im windows-client eigetragene workgroup BBFZ sein muss - und clientseitig wird es als Netzwerk-file mit einem Laufwerksbuchstaben eingehängt.

Das ist für wahr eine ganz simple Configuration, die aber funktioniert, und Ihnen mehr Selbstbewusstsein für weitere Beispiele gibt, denn sobald Sie das am server freigegebene Verzeichnis auf Ihrer windows-maschine sehen können und alle files darin öffnen können, haben Sie in der ersten Runde bereits gewonnen. Die windows-clients müssen also der Gruppe BBFZ angehören, und es muss einem Laufwerksbuchstaben das zu importierende Verzeichnis zugeordnet werden. UND ... ich habe mir sagen lassen, dass das sogar auf der MS DOS Eingabeaufforderung abwickelbar ist

C:\> net use x: \\192.168.1.1\home

In diesem Beispiel wurde Samba so konfiguriert, dass es alle usernamen ignoriert. Es verwendet den guest-account für alle Verbindungen. Das freigegebene Verzeichnis hat als Rechte 755, und es wird "read-only"-Verzeichnis freigegeben. Clientseitig kann man also nichts hineinlegen, noch kann man etwas löschen. Probieren sie dieses erste Beispiel gleich aus, und kommen Sie dann zurück, wenn es funktioniert hat.

Ein weiteres simples Beispiel siehe Beispiel_smb.conf_1

Unser Beispiel erlaubt jedem von der Windows-Maschine eine Verbindung zum Samba-server, der einen account auf dem Server hat. Die user können dann ihren usernamen oder homes als den service-Namen beim Netzwerklaufwerks-Prozedere auf der windows-Seite angeben.
die "workgroup" (Arbeitsgruppe) gehört zur globalen Sektion und der zugewiesene Wert muss dem entsprechen, den die Windows-Clients alle gemein eingetragen haben - wählen Sie etwas anderes als ARBEITSGRUPPE aus!

Die user brauchen noch ein samba-passwort ...

root# mbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
root# smbpasswd -a markus
New SMB password:
Retype new SMB password:
Added user markus.
root#

Wenn auf der clientseite das Netzwerklaufwerk angegeben wurde, und (Windows XP), und "\\caesar\markus", dann ok, dann tut sich ein Feld auf, wo der user markus das passwort eintippt und schwups, schon ist das Laufwerk da und der Ordner offen, der das HOME-Verzeichnis des users Markus anzeigt.
Wenn der server namens caesar nicht erkannt wird, dann wählen Sie stattdessen einfach seine IP-Adresse.

Auf der serverseite kann man die Konfiguration testen, wie oben gesehen (testparm, smbclient), und, man kann schauen, ob sich der user markus anmelden kann am smb auf einer Kommandozeile am server ...

root# smbclient //caesar/markus -Umarkus
Password:
Domain=[BBFZ] OS=[Unix] Server=[Samba 3.0.223]
smb: \> ls
vera.jpg
...
smb: \> q
root#
Es hatte also funktioniert.

Noch eine kleine Erweiterung. Per default "lauschen" smbd oder nmbd auf allen vorhandenen netzwerk-Interfaces. Wenn Sie aber ein bestimmtes angeben wollten, dann ginge das mittels

[global]
interfaces = eth1
bind interfaces only = Yes
...
Letzte Aktualisierung ( Wednesday, 9. May 2007 )
 
< Zurück   Weiter >

Scroll-news

Mailingliste:
http://mlists.in-berlin.de/mailman/listinfo/lieo-mlists.in-berlin.de 

 

Das Forum ist online gegangen

 


Who's Online

Aktuell 121 Gäste online

Google AdSense