Samba-Schnelleinstieg und Konfigurations-Guide
Moin Linuxxer,
Es gibt im Internet zwar schon einige umfassende Anleitungen zu Konfiguration des Samba-Server, aber eine kurze und knappe, die sich auf das wichtigste beschränkt, habe auch ich noch nicht direkt gefunden.
Zum einen gibt es die Möglichkeit der Konfiguration über ein Webinterface mittels SWAT -> http://wiki.ubuntuusers.de/Samba_Server_Swat
Ich werde hier nur auf die Konfiguration per Konsole eingehen, da das für die meisten Nutzer interessant sein sollte, die einen kleinen Home-/Filerserver bauen wollen.
Die folgenden Befehle können je nach Distribution abweichen, ich nehme Debian als Grundlage (sollte sich auf z.b. Ubuntu Server 1:1 übertragen lassen)
Zunächst installieren wir Samba ersteinmal, sofern noch nicht geschehen:
(alles weitere als root ausführen, dazu mit ´sudo -s´ auf superuser-Ebene wechseln)
Code:
apt-get install samba
ihv
Ich habe in diesem Guide 2 verschiedene Möglichkeiten erläutert, ihr könnt nun wählen:
mit Anmeldung
======== mit Anmeldung ========
Jetzt legen wir erstmal einen User auf dem Linux-System selbst an, auf diesen greift Samba dann auch zurück (ist also notwendig).
Code:
adduser [I]USERNAME[/I]
Die folgende Abfrage der Informationen wie Vorname, Nachname, etc... können ausgelassen werden, wichtig ist nur ein Passwort.
Diesen User fügen wir nun auch der Samba-Nutzerdatenbank hinzu:
Code:
smbpasswd -a [I]USERNAME[/I]
Hier das gleiche Passwort wie oben verwenden, sonst kommt es nur zu unnötiger Verwirrung.
Jetzt legen wir den freizugebenden Ordner im Home-Verzeichnis des neuen Benutzers an, das erspart uns das Einstellen der Rechte.
Code:
su [I]USERNAME[/I]
cd
mkdir [I]freigabe[/I]
exit
(Wir melden uns kurz mit dem neuen Benutzer an, wechseln in sein Home-Verzeichnis, legen den Ordner an und beenden die Sitzung mit dem neuen User)
Nun geht es an die Konfiguration des Samba-Servers.
Um die Konfigurationsdatei zu editieren, macht man Folgendes:
(bevor wir die originale Datei verändern, legen wir uns zunächst eine Sicherungskopie an)
Code:
cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Und jetzt rufen wir sie mit einem Editor auf:
Code:
nano /etc/samba/smb.conf
Dort sollte nun mindestens Folgendes enthalten sein:
Ihr könnte euch an folgender Beispielkonfiguration orientieren, allerdings sind dort keine Freigabe von Druckern eingestellt, und einige Optionen habe ich auch "rausgekürzt".
smb.conf
Code:
#======================= Global Settings =======================
[global]
## Dies ist die Arbeitsgruppe, in der sich
## euer Samba-Server befinden wird.
workgroup = [I]WORKGROUP[/I]
## "server string" ist der Rechner-Name eures
## Servers.
server string = [I]FILESERVER[/I]
## Um die Antwort- und Reaktionszeit
## des Samba-Server etwas zu verbessern,
## kann man die folgende Option einstellen
## Ich empfehle die Verbindung von Buffern
## in Empfangs- und Senderichtung NICHT,
## da sich bei mir grundsaetzlich der Durch-
## satz dabei stark verringert hat.
socket options = TCP_NODELAY
#======================= Networking Options =======================
## Auf welchem Netzwerkadapter soll
## der Samba-Server aktiv sein ?
interfaces = eth0
## Nur auf dem o.g. Adapter aktiv sein?
bind interfaces only = yes
## Logfile, selbsterklaerend
log file = /var/log/samba/log.%m
## Maximale Groeße der Log-Datei in kb
max log size = 1000
#======================= Authentication =======================
## "security" bestimmt das Sicherheits-
## Level eures Samba-Servers.
## Die meist genutzten sind "user" und
## "share". In dieser config sollen
## sich die Benutzer anmelden, daher
## nehmen wir "user".
security = user
## Diese Option sollte stehts aktiviert
## werden, sofern man Passwoerter zur
## Anmeldung verwendet.
encrypt passwords = true
## Wenn Passwoerter verschluesselt werden,
## muss der Samba-Server noch wissen,
## welche Datenbank er dafuer benutzt.
## Sollte auf dem Default-Wert gelassen
## werden.
passdb backend = tdbsam
#======================= Share Definitions =======================
## Hier stellen wir nun die Freigaben ein,
## auf die zugegriffen werden sollen.
[Freigabe1]
comment = "[I]Meine Freigabe[/I]" [size=1]## optional[/size]
path = /home/[I]USERNAME[/I]/freigabe
browseable = yes
guest ok = no
public = no
writeable = yes
valid users = [I]USERNAME[/I]
Abschließend muss der Samba-Server nun noch einmal neugestartet werden:
Code:
/etc/init.d/samba restart
Und ab sofort könnt ihr euch auf eurem eigenen Samba-Server mit eurem USERNAMEN und zugehörigem Passwort anmelden.
Dies könnt ihr unter Windows beispielsweise auch als Netzlaufwerk einrichten und die Anmeldeinformationen speichern.
ohne Anmeldung
======== ohne Anmeldung ========
Um den Samba-Server ohne Anmeldung zu nutzen, brauchen wir zunächst einen Ordner, auf den auch ein "Gast" schreiben darf, denn so werden wir als Client behandelt, wenn wir uns nicht mit Username und Passwort anmelden.
Wo ihr diesen Ordner platziert, spielt letzlich keine Rolle, da wir die Berechtigungen für diesen sowieso anpassen müssen.
Allerdings würde ich empfehlen, ihn in bspw. /share neu zu erstellen.
Code:
mkdir -p /share/[i]freigabe[/i]
Damit nun Gäste darauf schreiben dürfen, setzen wir die richtigen Rechte:
Code:
chmod -R 777 /share/[i]freigabe[/i]
Bevor wir nun an der Konfiguration des Samba-Servers arbeiten, machen wir uns auch hier ein Backup der originalen Datei:
Code:
cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Und jetzt rufen wir sie mit einem Editor auf:
Code:
nano /etc/samba/smb.conf
Ihr könnte euch an folgender Beispielkonfiguration orientieren, allerdings sind dort keine Freigabe von Druckern eingestellt, und einige Optionen habe ich auch "rausgekürzt".
smb.conf
Code:
#======================= Global Settings =======================
[global]
## Dies ist die Arbeitsgruppe, in der sich
## euer Samba-Server befinden wird.
workgroup = [I]WORKGROUP[/I]
## "server string" ist der Rechner-Name eures
## Servers.
server string = [I]FILESERVER[/I]
## Um die Antwort- und Reaktionszeit
## des Samba-Server etwas zu verbessern,
## kann man die folgende Option einstellen
## Ich empfehle die Verbindung von Buffern
## in Empfangs- und Senderichtung NICHT,
## da sich bei mir grundsaetzlich der Durch-
## satz dabei stark verringert hat.
socket options = TCP_NODELAY
#======================= Networking Options =======================
## Auf welchem Netzwerkadapter soll
## der Samba-Server aktiv sein ?
interfaces = eth0
## Nur auf dem o.g. Adapter aktiv sein?
bind interfaces only = yes
## Logfile, selbsterklaerend
log file = /var/log/samba/log.%m
## Maximale Groeße der Log-Datei in kb
max log size = 1000
#======================= Authentication =======================
## "security" bestimmt das Sicherheits-
## Level eures Samba-Servers.
## Die meist genutzten sind "user" und
## "share". In dieser config sollen
## die Benutzer ohne Anmeldung auf die
## Freigaben zugreifen koennen, daher
## nehmen wir "share".
security = share
#======================= Share Definitions =======================
## Hier stellen wir nun die Freigaben ein,
## auf die zugegriffen werden sollen.
[Freigabe1]
comment = "[I]Meine Freigabe[/I]" [size=1]## optional[/size]
path = /share/[i]freigabe[/i]
browseable = yes
guest ok = yes
public = yes
writeable = yes
create mask = 0777
directory mask = 0777
## Die "Masken" bewirken, dass auch alle
## neuen Dateien die notwendigen Rechte
## bekommen, und nicht dem Gast alleine
## "gehoeren" (Standardverhalten von
## Linux).
Abschließend muss der Samba-Server nun noch einmal neugestartet werden:
Code:
/etc/init.d/samba restart
Und ab sofort könnt ihr auf die Freigaben eures Samba-Servers ohne Anmeldung zugreifen.
Diese könnt ihr unter Windows beispielsweise auch als Netzlaufwerk einrichten.
----------------------------------------------------------------------------------------------
Soviel von meiner Seite, bei Fragen, Kritik und Tippfehlern einfach melden.
Viel Spaß damit
MfG
foxxx
Zuletzt bearbeitet: