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
Ich habe in diesem Guide 2 verschiedene Möglichkeiten erläutert, ihr könnt nun wählen:
======== 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).
Die folgende Abfrage der Informationen wie Vorname, Nachname, etc... können ausgelassen werden, wichtig ist nur ein Passwort.Code:adduser USERNAME
Diesen User fügen wir nun auch der Samba-Nutzerdatenbank hinzu:
Hier das gleiche Passwort wie oben verwenden, sonst kommt es nur zu unnötiger Verwirrung.Code:smbpasswd -a USERNAME
Jetzt legen wir den freizugebenden Ordner im Home-Verzeichnis des neuen Benutzers an, das erspart uns das Einstellen der Rechte.
(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)Code:su USERNAME cd mkdir freigabe exit
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)
Und jetzt rufen wir sie mit einem Editor auf:Code:cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Dort sollte nun mindestens Folgendes enthalten sein: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 = WORKGROUP ## "server string" ist der Rechner-Name eures ## Servers. server string = FILESERVER ## 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 = "Meine Freigabe" ## optional path = /home/USERNAME/freigabe browseable = yes guest ok = no public = no writeable = yes valid users = USERNAME
Abschließend muss der Samba-Server nun noch einmal neugestartet werden:
Und ab sofort könnt ihr euch auf eurem eigenen Samba-Server mit eurem USERNAMEN und zugehörigem Passwort anmelden.Code:/etc/init.d/samba restart
Dies könnt ihr unter Windows beispielsweise auch als Netzlaufwerk einrichten und die Anmeldeinformationen speichern.
======== 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.
Damit nun Gäste darauf schreiben dürfen, setzen wir die richtigen Rechte:Code:mkdir -p /share/freigabe
Bevor wir nun an der Konfiguration des Samba-Servers arbeiten, machen wir uns auch hier ein Backup der originalen Datei:Code:chmod -R 777 /share/freigabe
Und jetzt rufen wir sie mit einem Editor auf:Code:cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Ihr könnte euch an folgender Beispielkonfiguration orientieren, allerdings sind dort keine Freigabe von Druckern eingestellt, und einige Optionen habe ich auch "rausgekürzt".Code:nano /etc/samba/smb.conf
smb.conf
Abschließend muss der Samba-Server nun noch einmal neugestartet werden:Code:#======================= Global Settings ======================= [global] ## Dies ist die Arbeitsgruppe, in der sich ## euer Samba-Server befinden wird. workgroup = WORKGROUP ## "server string" ist der Rechner-Name eures ## Servers. server string = FILESERVER ## 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 = "Meine Freigabe" ## optional path = /share/freigabe 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).
Und ab sofort könnt ihr auf die Freigaben eures Samba-Servers ohne Anmeldung zugreifen.Code:/etc/init.d/samba restart
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![]()
+ Antworten
Ergebnis 1 bis 15 von 15
- 22.01.10, 23:35 #1
Samba Schnelleinstieg - Freigaben leicht gemacht
Geändert von foxxx (23.01.10 um 16:42 Uhr)
Have a look: luxx-area.de
Games: 2500k @ 4,5Ghz | Asus P8Z68-V Pro | 8GB G.Skill 1600Mhz | GTX570 @ H2O | Win 7 Prof. x64
Server: X2 220 @ 2,8Ghz | ASRock 890FX Dlx4 | 8GB Patriot 1333Mhz | Nvidia GF 6200 LE passiv | Debian 6.0 x64 + xen 4.0
Mobile: i5-2520M 2,5 Ghz| Thinkpad T420 | 8GB Corsair 1333Mhz | Intel HD3000 | Vertex 2 120GB | Win 7 Prof. x64
-
- 23.01.10, 16:38 #2
Meinst du das /usr der richtige Ordner währe? Denn anders als man meinen mag, oder es früher mal war, hat das Verzeichnis heute wenig mit User Daten zu tun. Vielmehr mit Binaries, Libraries und Co.
Anders, als ich eben auch noch dachte, ist die heutige Bedeutung User System Resources.
Ich habe mir angewöhnt alle Verzeichnisse die Dienste oder Daten für Dienste bereitstellen unter /srv abzulegen oder aber unter /shared. Das kann aber jeder selber machen wie man will.
Mehr dazu findet man hier:
http://tldp.org/LDP/Linux-Filesystem.../html/usr.html
- 23.01.10, 16:42 #3
Stimmt auch wieder, hab's mal editiert.
Danke für den Hinweis
PS: Vielleicht kannste ja mal in Skype oder ICQ online kommen
Geändert von foxxx (23.01.10 um 16:44 Uhr)
Have a look: luxx-area.de
Games: 2500k @ 4,5Ghz | Asus P8Z68-V Pro | 8GB G.Skill 1600Mhz | GTX570 @ H2O | Win 7 Prof. x64
Server: X2 220 @ 2,8Ghz | ASRock 890FX Dlx4 | 8GB Patriot 1333Mhz | Nvidia GF 6200 LE passiv | Debian 6.0 x64 + xen 4.0
Mobile: i5-2520M 2,5 Ghz| Thinkpad T420 | 8GB Corsair 1333Mhz | Intel HD3000 | Vertex 2 120GB | Win 7 Prof. x64
- 24.01.10, 00:14 #4
Moin !
Erstmal ein Lob: Klasse Guide
Ein kleiner Tipp: Der Befehl fürs Neustarten des Sambaserver kann je nach Distribution leicht unterschiedlich sein.
Bei ArchLinux ist es z.b.
Die Freigabe für den Gast würde ich auf 775 ändern./etc/rc.d/samba restart
Gibt auf Lans manchmal spezialisten die einen dann den Ordner löschen...
Muss wirklich mal was geschrieben werden vom Gast, kann der Admin ja dann auf 777 ändern.Geändert von Nordmende (24.01.10 um 00:16 Uhr)
- 24.01.10, 01:06 #5
Für LANs würde ich immer Benutzeranmeldung aktivieren.
Ich habe hier einen Account mit Namen "lan" eingerichtet und einem Passwort, was ich dann jedem sage.
Dieser Account hat dann aber nur da wo ich es will Lese-Rechte, und mehr nicht.
Für den privaten Gebraucht kann man den Ordner auf 777 setzen, sofern man keine Spezis im eigenen Netzwerk hat
btw: Zur Distribution hatte ich erwähnt, dass sich meine Befehle auf Debian beziehen und eventuell abweichen können
mfg
foxxx
Have a look: luxx-area.de
Games: 2500k @ 4,5Ghz | Asus P8Z68-V Pro | 8GB G.Skill 1600Mhz | GTX570 @ H2O | Win 7 Prof. x64
Server: X2 220 @ 2,8Ghz | ASRock 890FX Dlx4 | 8GB Patriot 1333Mhz | Nvidia GF 6200 LE passiv | Debian 6.0 x64 + xen 4.0
Mobile: i5-2520M 2,5 Ghz| Thinkpad T420 | 8GB Corsair 1333Mhz | Intel HD3000 | Vertex 2 120GB | Win 7 Prof. x64
- 13.02.10, 21:36 #6Obergefreiter
- Registriert seit
- 20.01.2010
- Beiträge
- 87
Ich habe jetzt meinen sambaserver aufgesetzt- es funktioniert soweit auch alles (wenn ich die Anmeldung mit Kennwort nicht nehme)
- ich habe mit dem über das ubuntu software center auffindbare tool den samba-server eingerichtet und user angelegt.
Die erstellten Ordner musste ich mit sudo chown user /share/test immer für meinen rootuser user freischalten- obwohl ich in dem Samba-server Konfigurationsmenü den Ordner als les und schreibbar von allen eingestellt hatte ...
wenn ich nun auf einen Ordner den ich für den Zugriff des windows-users "win7" auf meiner windows-maschine klicke kommt zwar das Anmeldefenster aber mein username und Kennwort wird nicht akzeptiert.
manchmal kommt auch "auf die netzwerkreccource ... kann nicht zugegriffen werden sie haben eventuell keine Berechtigung - ohne das ich überhaupt das Anmeldefenster zu sehen bekomme.
den user win7 habe ich natürlich schon angelegt, mit chown hat er auch ein Zugriffsrecht auf /share/test bekommen.
Wie kann ich eigentlich es schaffen das der user win7 und der linux- admin alle Rechte auf diesen Ordner haben (das Nutzer zwar angemeldet sein müssen aber mehrere angemeldete Nutzer das Recht auf alles haben) ?
- 13.02.10, 23:54 #7
addgroup freigabe
adduser win7 freigabe
adduser "linux-admin" freigabe
chown -R :freigabe /share/test
chmod -R 775 /share/test
Damit sollte es gehen
Have a look: luxx-area.de
Games: 2500k @ 4,5Ghz | Asus P8Z68-V Pro | 8GB G.Skill 1600Mhz | GTX570 @ H2O | Win 7 Prof. x64
Server: X2 220 @ 2,8Ghz | ASRock 890FX Dlx4 | 8GB Patriot 1333Mhz | Nvidia GF 6200 LE passiv | Debian 6.0 x64 + xen 4.0
Mobile: i5-2520M 2,5 Ghz| Thinkpad T420 | 8GB Corsair 1333Mhz | Intel HD3000 | Vertex 2 120GB | Win 7 Prof. x64
- 14.02.10, 18:10 #8Obergefreiter
- Registriert seit
- 20.01.2010
- Beiträge
- 87
Hat geklappt
ich habe den Test- Ordner mit chmod 777 für alle freigegeben die sich auf dem server anmelden können- bei dem xp- notebook kommt jetzt das Anmeldefenster wenn ich auf den Test- Ordner der über das samba- Interface nur bestimmten usern freigeschaltet ist zugreifen will.
Ich will das ganze jetzt erst mal als internen Fileserver verwenden und dann weitersehen wie das mit ftp so funktioniert.
Jetzt habe ich mir überlegt alle beiden Festplatten die aktuell im win7-Rechner sind auszubauen und dann als Netzlaufwerk zu mappen, der gigabit- switch von dlink sollte die Tage ankommen- von der Bandbreite her sollte es also kein Problem geben. Durch das Auslagern der Festplatten wäre der Geräuschpegel meines ohnehin schon recht leisen Zockrechners weiter reduziert. Windows und die Spiele liegen auf einer SSD - alles würde also nicht übers Netzwerk laufen.
Sollte ich die Festplatten mit einem linux- Dateisystem formatieren anstatt sie auf NTFS zu lassen ? Ich hoffe das ich das irgendwie konvertieren kann und nicht formatieren muss.
edit: klappt leider nicht so ganz- manchmal kommt der loginscreen bei dem xp- notebook, manchmal nicht ... - es ist dann sogar möglich ohne Anmeldung auf den eigentlich restriktierten Ordner zuzugreifen. Manchmal kam beim win7/xp-pc die Meldung das ich keine Rechte habe etc- ohne das ein Anmeldefenster aufging. Was mich vor allem wundert ist, dass ich nichts geändert habe was dieses zufällige Verhalten erklären könnte.
Einmal kann die xp maschine garnicht auf den sambaserver zugreifen, dann kann ich nur auf test1 (der ist für alle frei) und bei test2 kommt etwas von wegen keine Rechte. Das kommt dann eventuell auch so auf der win7- Maschine - oder es kommt die Aufforderung sich anzumelden bei der win7- Kiste. Dann kann es wieder sein das ich auf test2 ( hier müsste die Anmeldeaufforderung erscheinen) zugreifen kann (mit beiden win-Rechnern) ohne Kennwortabfrage und dann eventuell nur lesen kann oder sogar auch schreiben darf
Das für den user flo vergebene Kennwort habe ich nicht beim Anmeldebildschirm speichern lassen.
Den Gastaccount habe ich deaktiviert, Benutzer mit Zugriff sind nur bofh (der root des servers) und flo (der durch adduser erstellte)
Ich verstehe nicht wieso das bei mir so krass daneben geht- ich werd noch irre mit dem kleinen ServerprojektGeändert von ka0t (14.02.10 um 19:45 Uhr)
- 15.02.10, 00:43 #9Matrose
- Registriert seit
- 01.03.2008
- Beiträge
- 31
Hallo
Also, bei konvertieren wäre ich vorsichtig...lieber Backup...Festplatte mit Ext3 formatieren und denn Dateien zurückspielen
Du kannst mal in der smb.conf den log level erhöhen und dir mal die logs anschauen i.d.R unter /var/log/samba vielleicht findest da den hinweis.
Häufige Ursache sind auch nicht ausreichende Dateirechte auf dem Server selber...
mfg
Sebastian
P.S.: ich installier sogar Spiele auf dem Samba Server und zock sie denn ... zwar sind manchmal die Ladezeiten länger aber bei vielen Games stört es nichtBoard: ASRock ALiveXFire-eSATA2
Prozessor: AMD Athlon X2 4800+
RAM: 1GB RAM (Dual Channel)
HDD: Samsung 160GB SATA
OS: WinXP 32
Sound: 4 x KT88 im Class A Mode
- 15.02.10, 08:02 #10Oberleutnant zur See
- Registriert seit
- 30.07.2008
- Beiträge
- 1.404
Genau der Befehl hat mir gefehlt; ich hab die ganze Zeit versucht mich mit meinem Root-Account anzumelden und es ging nicht. Einmal den Befehl eingegeben und schon hats gefunztCode:smbpasswd -a USERNAME
- 17.02.10, 19:27 #11
Hab das Tutorial mal dem Sticky "Linux als Server" hinzugefügt
DESKTOP | AMD Phenom II X3 720 BE @ X4 | ASRock 970 Extreme 4 | Mushkin 8GB DDR3 | Gigabyte GTX550ti | Lian Li PC-A05FNB | Crucial M4 64GB
MOBIL | MacBook Air (Mid 2011) | 13" | Core i7 1.8 GHz | 4GB DDR3 | 256GB SSD | OSX Lion 10.7.1
- 06.09.10, 13:39 #12Obergefreiter
- Registriert seit
- 20.01.2010
- Beiträge
- 87
Ich habe jetzt zwei samba-server laufen. Die Performanz ist echt gut. Das einzig problematische ist die etwas veraltete NT-Technoligie auf der das ganze aufsetzt. Ich habe mehrere user angelegt, welche für einen gewissen Zweck sich über eine batch authentifizieren und ein Netzlaufwerk mappen. Wenn ich nun updates über wsus gefahren habe und das Netzlaufwerk entfernt ist muss ich neustarten, um ein anderes Netzlaufwerk (beispielsweise für Backups oder Installationsdateien) zu mappen. Net session /delete funktioniert hier leider nicht, um die Anmeldeinformationen des getrennten Netzlaufwerks komplett zu entfernen.
- 06.09.10, 13:46 #13Banned
- Registriert seit
- 19.07.2006
- Beiträge
- 8.427
das ist imho ein windows problem
wenn du statt
\\servername\share
die IP adresse nimmst
\\192.168.1.1\share
dann laesst dich windoof wieder eine user/passwort eingeben.
- 06.09.10, 14:25 #14Obergefreiter
- Registriert seit
- 20.01.2010
- Beiträge
- 87
Dann müsste ich die Anmeldungsart als Bool bei jedem Öffnen speichern und ändern lassen.
Eine if-Schleife könnte dann je nach Variablenstand die Variable für die Anmeldung anpassen.
Das habe ich schon für die Verhinderung von Doppelanmeldungen geplant. Wenn drei Kundenrechner per wsus betankt werden muss ich bisher wsus2.bat (für den zweiten nutzer der wsus-Gruppe) anwählen, damit es nicht zu einer Mehrfachanmeldung auf dem Server kommt.
Bei wsus könnte man natürlich sagen das man durch ein allgemein zugängliches share das ganze umschiffen kann- bei Backups finde ich das dann aber schon sehr riskant ...
- 06.09.10, 14:37 #15Bootsmann
- Registriert seit
- 17.10.2007
- Beiträge
- 730
für Leute die nicht ganz so auf gutem sind mit dem Terminal
kann man auch das Hauseigene GUI "SWAT" runterladen wo man dann bequem im Browser über ein GUI seine Freigaben verwalten kann.

LinkBack URL
About LinkBacks
Zitieren



