ironicalpro
Goto Top

Samba Fileserver einrichten

Moin! Ich hoffe auf einige gute Tipps von den Experten hier.

Situation:
Ich habe ein LAN mit 4 Client's und möchte unter Linux mit der Distribution Ubuntu Server ver.9.10 einen Samba File-Server einrichten.
Die Client's laufen unter Vista und Windows 7.
Meine Vorstellung sieht so aus, dass ich z.b. eine oder zwei 500gb ide festplatten in den Server einbaue. Meinen Terrabyte Speicher wollte ich dann in 5 Partitionen aufteilen:
Die 1. für das Betriebssystem Ubuntu Server (1 - 2gb)
Die 2. - 5. für die Datenablage der Clients. Also das jedem Client genau eine Partition für seine Daten zur Verfügung steht.
Nun habe ich aber gelesen, dass in dem Sinne keine Partitionen unter Linux gibt.
Daraus resultiert mein Problem:
Ich möchte den 1Tb Speicher "fair" unter den Clients aufteilen also, dass jeder Client max. 250Gb belegen kann. Deshalb habe ich ja an Partitionen gedacht, also jede Partition einzeln freigeben und bei dem dazugehörigen Client als Netzlaufwerk einbinden.
Also wäre meine Frage an euch wie ihr dieses "Problem" (vielleicht ist es ja auch gar kein Problem) lösen würdet bzw. realisieren würdet?

Da ich mit Linux noch nicht so viel zu tun hatte, außer in der Schule mal, da haben wir nämlich ein bisschen mit Ubuntu Server rumgespielt, wäre ich sehr dankbar, wenn ihr eure Antworten für "Blöde" formulieren würdet also möglichst detaliert usw.

LG und Danke im Vorraus Henning

Content-ID: 136611

Url: https://administrator.de/forum/samba-fileserver-einrichten-136611.html

Ausgedruckt am: 23.12.2024 um 06:12 Uhr

utopia
utopia 22.02.2010 um 22:50:26 Uhr
Goto Top
Hi,

lies dich mal in das Thema Quota ein. Das ist genau dafür gemacht.

Zum Thema Partition: Warum soll Linux keine Partitionen unterstützen? Das ist doch noch unterm dem Betriebssystem? Wäre bei Linux sogar fatal wenn es das nicht unterstützt.
IrOnIcalPrO
IrOnIcalPrO 22.02.2010 um 23:23:16 Uhr
Goto Top
Danke für deine schnelle Antwort!
Habe auch gleich mal angefangen mich in Quota einzulesen und da habe ich mir gleich die nächste Frage gestellt:
Habe ich das richtig verstanden, dass Ubuntu Server erstmal nur die "Partition" kennt, die bei der Installation erstellt wurde und auf die es installiert wurde? Also quasi die Systempartition? Wenn ja, wie teile ich denn dann den restlichen Speicherplatz der festplatten auf?und "zeige" Ubuntu Server, dass es diese Partitionen gibt?

lg
LordGurke
LordGurke 23.02.2010 um 00:02:42 Uhr
Goto Top
Was derjenige meinte, der die Behauptung in die Welt gesetzt hat, es gäbe unter Linux keine Partitionen wohl wirklich meinte war: Unter Linux werden Partitionen nicht wie getrennte Laufwerke behandelt.
Du kannst (oder musst) unter Linux Partitionen und jeden anderen Datenträger einfach irgendwo in das Dateisystem einhängen ("mounten").

/home/karlheinz kann eine andere Partition sein, als /home/ursula u.s.w.

Die Partitionen erstellst du optimalerweise bereits während der Installation, dort solltest du aber am Besten den Vorschlag annehmen, bei dem die Root-Partition ( / ) und die /home-Partition getrennt werden - das sollte für dein Vorhaben komplett ausreichen.
Falls du die Festplatten zu einem RAID-Verbinden willst, so kannst du das auch tun wenn du willst.

Über deine Frage zu den Quotas bin ich etwas verwirrt...
Die Quotas machen nämlich eigentlich nichts anders, als bestimmten Benutzern ein bestimmtes Speicherkontingent zur Verfügung zu stellen. Wenn du einstellst, dass User A nur 25 GB Speicher bekommt, dann kann er genau 25 GB belegen, danach ist Schluss.
IrOnIcalPrO
IrOnIcalPrO 23.02.2010 um 03:10:08 Uhr
Goto Top
@maxi89
also ich bin jetzt so verfahren, dass ich mir ein Partitionsprogramm runtergeladen habe, auf das man booten kann. Das habe ich dann auch gemacht und meine emulierte Festplatte (10Gb) habe ich dann in 5 Partitionen eingeteilt.(emuliert, weil ich ja im Moment noch in der Trainingsphase bin)

1. Primär 2GB ext2 für Ubuntu Server
2.Logisch 2GB nfts für die Daten des ersten Clients
3.Logisch 2GB ntfs für die Daten des zweiten Clients
usw.

anschließend habe ich auf die Ubuntu Server CD gebootet und damit begonnen das System aufzusetzen. Da bin ich ja dann schließlich beim Partitionsmenü gelandet. Dort wurde mir dann ja die Partitionstabelle angezeigt. Sie enthielt auch alle von mir vorher erstellten Partitionen aber als ich genauer hinguckte fiel mir auf, dass hinter jeder Partition im ntfs format stand "nicht benutzt" also wählte ich Partition für Partition manuell aus und änderte bei "Verwenden als" oder so ähnlich von "nicht benutzt" auf "ntfs". Außerdem habe ich dann noch den Mountpunkt festgelegt.
Das Verzeichniss zum mounten hieß dann je nach Partition so "\Client1" , "\Client2" usw. Lediglich bei der primären Partition habe ich verwendet als "ext2" so gelassen und als Mountpunkt "\" dann habe ich noch eine Swap Partition von 1024Mb hinzugefügt. Das wars soweit in dem Menü.
Habe mich dann weitergeklickt und als er die einzelnen Partitionen dann im Laufe des Setups mounten wollte kahm eine Fehlermeldung, die besagte, "]\Client1" kann nicht gemountet werden! Zurück zum Partitionsmenü?
Bin dann also zurück zum Partitionsmenü habe alle Partitionen gelöscht von dem Partitionsmenü neue erstellen lassen. Das waren dann ja nur zwei. Swap und die System Partition, die hatte dann aber auch etwas über 9GB also habe ich sie wieder gelöscht und in kleinere unterteilt wieder nach dem Schema wie oben schon erwähnt, bloß, dass ich diesmal anstatt "Verwenden als" "ntfs" "Verwenden als "fat32" genommen habe.
Diesmal hat das dann auch geklappt. Habe dann alles fertig installiert und geguckt ob ich mittels cd /clientX in das jeweilige Verzeichniss wechseln kann. Hat auch funktioniert. dann noch per "dir" geguckt ob das jeweilige Verzeichniss leer ist, waren sie auch alle.
Nun zu meinen Fragen:
Wieso trat mit dem ntfs Dateisystem ein Fehler bei der Installation auf und bei fat32 nicht? Ich dachte mir, da ja alle Clients Windows Rechner sind und das modernste Dateisystem für Windows ntfs ist, wäre es das beste das zu verwenden. Gibts da eine Möglichkeit, das zu verwenden?
Zitat maxi89 "Unter Linux werden Partitionen nicht wie getrennte Laufwerke behandelt." bedeutet das, selbst wenn ich es nach dieser Methode mache, also jede Partition mounte und zum Beispiel einen Ordner [Client1] in der smb.conf freigebe mit dem Pfad "path = /client1" und die Partition wie zum Beispiel oben 2Gb groß ist, dass Client1 dann trotzdem mehr als 2GB speichern könnte?

Liebe Grüße!!
tmystr
tmystr 23.02.2010 um 08:24:10 Uhr
Goto Top
Hey,

vielleicht findest du hier was du suchst face-wink : http://www.google.de/#hl=de&source=hp&q=Samba+Fileserver+einric ...

lg
tmystr
utopia
utopia 23.02.2010 um 12:42:08 Uhr
Goto Top
Also da kommt bei dir einiges durcheinander, glaube ich.

Also: NTFS und FAT sind nicht gerade die Dateisystemformate die Linux unterstützt. Daher hier immer sowas wie ext3 nehmen, ext2 ist schon ziemlich in die jahre gekommen. Wie es mit diesem Ubuntu-Zeug geht hab ich keine Ahnung, aber das ist ja genau das Problem an ubuntu, man weiß nicht was man tut und glaubt dass mans kann ;) (Sorry will mich jetzt nicht rumstreiten)

Also erstmal die Theorie:
Die Dateien der Benutzer werden lokal vorgehalten, daher hier immer Linuxdateisysteme wählen.
Wenn benutzer über das Netzwerk zugreifen, benutzen sie doch ein Protokoll (z.B. wie bei FTP). In deinem Fall sollen die Benutzer über Windows-Freigaben arbeiten. Das Protokoll nennt sich dann SMB. genau diese Aufgabe übernimmt dann SaMBa für dich. Das eine hat mit dem anderen nichts zu tun.

Folgendes machst du:
Da du dich mit Linux scheinbar nicht viel auskennst versuch es mit diesem Ubuntu-Tools. Partitionieren der Festplatte in z.B. 50 GB für /home/anna und 50 GB für /home/klaus mit jeweil ext3

Dann setzt du den Samba auf:
Wie die Konfiguration bei Ubuntu abläuft weiß ich nicht, aber die /etc/samba/smb.conf ist hier die zentrale Einstellungsdatei. Beispiele gibt es abermillionen im Netz.

hoffe das hilft
mrtux
mrtux 23.02.2010 um 18:14:41 Uhr
Goto Top
Hi !

Grundsätzlich ist es erst mal besser den Umgang mit den Tools zu lernen. die bei Linux dabei sind. Alles was man zum Einrichten von Partitionen, Dateisystemen und Mountpoints braucht, bietet die Linux Konsole von sich aus! Warum also in die Ferne ähm schauen....Viel besser ist lernen, lernen, lernen, ansonsten besser die Finger davon lassen, denn irgendwann kommst Du mal in die Situation wo Du eben kein (grafisches) Partitionierungstool oder Reparaturtool hast, dann bist Du ohne Erfahrung auf der Konsole total aufgeschmissen....Gerade bei einem Server hast Du dann richtig Stress....

So wie ich herauslese, fehlen dir doch einige elementare Grundkenntnisse zum Thema Linux, daher würde ich dir empfehlen, eines der 405893475 im Netz verfügbaren Tutorials durch zuarbeiten, dabei lernst Du um Welten mehr, als wenn Du hier einen persönlichen Profi-Betreuer suchst/hast, denn der musste zwar auch mal bei Null anfangen, kann sich aber nicht immer in die Situation eines Einsteigers versetzen....Und lass bitte, um Gottes Willen, die Finger von Windows Dateisystemen, wenn Du ein Linux aufsetzen willst... :-P

mrtux
utopia
utopia 23.02.2010 um 19:58:11 Uhr
Goto Top
Ja, aber bei dem Ich-Bin-Linux-Server-Admin-Hype durch Ubuntu und co ist sowas die logische Konsequenz. Die GUI's lassen die Benutzer glaube, dass sie alles im Griff haben, aber das haben die meisten ja auch nicht bei Windows.

Das Problem ist, wie du schon schreibst, er weiß gar nicht wo er anfangen soll. Es gibt so viele Tutorials die auch nur bash-copy-paste sind und daher genau den gleichen Effekt haben. Ich vermute mal, dass der Einstieg in die 'Theorie' hinter Unixen heute noch sehr viel schwieriger ist, denn man kommt ja immer gleich zu irgend welchen GUI's bei recherchen.

Für Grundlagen gibt es z.B. den Verkaufsschlager "Linux" von Michael Kofler, kosten aber was.

Für Umsonst gibts da noch
http://openbook.galileocomputing.de/linux/
und
http://openbook.galileocomputing.de/unix_guru/

Was für den Einstieg ganz gut geeignet ist.

@mrtux: Mal ehrlich Man-pages sind nicht gerade das was man Motivierend für den Einstieg nennen kann ;)
IrOnIcalPrO
IrOnIcalPrO 23.02.2010 um 23:08:54 Uhr
Goto Top
Na das hört sich ja nicht soo rosig für mich an...;)
Mir ist bewusst, dass ich keine ahnung von linux habe, aber ich wurde daran erinnert, weil wir das in der Schule mal ein bisschen gemacht haben mit den Freigaben. Da war das längst nicht so kompliziert, einen Ordner freizugeben oder kahm zumindest nicht so rüber und dann dachte ich mir halt, dann kannst du das ja um dein Heimnetzwerk noch ein wenig zu erweitern hobbymäßig ganz unprofessionel nebenbei machen und einen Einstieg in Linux finden. Ich dachte halt, dass es mit den Partitionen dann ähnlich wie mit den Ordnern funktioniert.
Wollte, dachte ich zumindest, ja nichts hoch kompliziertes in Angriff nehmen und mich damit rühmen.
Das mit den Homeverzeichnissen leuchtet mir ein, ist aber nicht genau das was ich will...
Der Witz an der ganzen Sache ist bloß, dass ich es jetzt wie ich es oben beschrieben habe, ja hinbekommen habe die fat32 partitionen zu mounten. somit kann ich sie ja jetzt auch in smb.conf freigeben. Aber so wie ihr reagiert scheint das eine ziemlich schlechte lösung zu sein.
Vom Prinzip habe ich es mir so gedacht, dass ich für den jeweiligen Client einen Unix-Benutzer Account anlege. Diese dann alle in die Samba Datenbank eintrage und ein Sambapasswort vergebe. Dann wollte ich Samba Accounts in einer Gruppe namens "freigaben" zusammenfassen und jede Partition oder das Verzeichniss der Partition "/clientx" mit chmod die Lese- und Schreibrechte auf Besitzer und die Gruppe des Verzeichnisses beschränken. Anschließend die Gruppe des jeweiligen Verzeichnisses mit dem Befehl chgrp auf die Gruppe "freigaben" ändern und dann mit chmod g+sw dafür sorgen, dass alle neu angelegten Verzeichnisse immer der Gruppe "freigaben" gehören.
In der smb.conf wollte ich dann den security level = user setzen und hier mal wie ich dann eine Freigabe eines Clients in der smb.conf gesetzt habe:

[Client X's Daten]
comment = Verzeichniss auf Server fuer ClientX
path = /ClientX
writeable = yes
force directory mode = 660
force create mode = 660
valid users = @freigaben

dann wollte ich am Rechner von Client X ein Netzlauferk verbinden und dem Client den Zugriff durch seinen Benutzernamen und das Sambakennwort ermöglichen.
Ich wollte halt nicht mit den Homeverzeichnissen arbeiten.
Was ich nicht verstehe, also das war mir klar, dass ntfs und fat keine Dateissysteme für Linux sind. Aber ich möchte mit den Daten die ich auf den einzelnen Partitionen ablege ja nicht unter Linux arbeiten sondern unter Windows und da wäre fat bzw. ntfs ja ein geeignetes Dateisystem. Aber wahrscheinlich denke ich einfach grundsätzlich falsch.

lg
IrOnIcalPrO
IrOnIcalPrO 24.02.2010 um 03:33:58 Uhr
Goto Top
noch eine Ergänzung:
oder mal andersrum gefragt, ich beharre die ganze Zeit so auf ntfs für meine Daten. Hätte ich den überhaupt einen spürbaren Nachteil, wenn ich die Partitionen der Platte mit ext3 formatiere? Würde ich, wenn alles fertig eingerichtet ist und ich von einem Client Daten auf die Platte kopiere überhaupt irgendeinen Unterschied feststellen?

@utopia:
habe nochmal über deinen Vorschlag nachgedacht jedem homeverzeichniss eine eigene Partition zuzuweisen und bin zum dem Schluß gekommen, dass ich das evtl. doch so lösen will. also wäre es klasse von dir, wenn du mir noch ein wenig detaillierter erklärst, wie ich vorgehen muss, um jeden Homeverzeichniss seine eigene Partition zuzuordnen!face-smile

lg
utopia
utopia 24.02.2010 um 10:01:54 Uhr
Goto Top
Welches Verzeichnis du in der smb.conf freigibst ist vollkommen egal. Aus diesem Grund kannst du auch die Platten direkt in /platte1 und /platte2 einhängen. Oder ebend in /home. Hauptsache der Pfad in der smb.conf stimmt.

Nochmal zu NTFS u.s.w. Wenn du mit deinem Windows Client auf eine Freigabe im Netzwerk zugreifst, dann tust du dies über ein Datei-Protokoll. In dem ist geregelt wie der entfernte Zugriff abläuft. Beispiel: Benutzer an Win-Client kopiert Datei:

1. C --- Sende Datei ---> 2. Samba --- Datei anlegen, Daten hinein kopieren ---> 3. Dateisystem

Bei 3. kann JEDES beliebige Dateisystem liegen, du kannst sogar ein eigens programmieren wenn du willst. Der Zugriff über die Windows-Freigabe wird daran NICHTS ändern. Warum also nicht NTFS? Ganz einfach. Linux unterstützt es nicht voll und ganz und es kann zu erheblichen Fehlern kommen und Datenverlust droht (ich glaube mittlerweile nicht mehr ganz so oft, aber möglichkeit besteht). ext3 oder irgend ein anderes Dateisystem ist da die bessere Wahl, weil performanter, sicherer und direkt von Linux unterstützt. Deine Computer sehen ja eh nciht was hinter Samba liegt.

Wie gesagt kenne ich mit diesen 'schrecklichen' Klick-Tools von Ubuntu nicht aus. Da es aber ein Debian-Derivat ist dürfte das Konsolenprogramm cfdisk drauf sein.

Angenommen dein Festplatte ist /dev/hda (PATA aka IDE) bzw. /dev/sda (SATA). Dann legst du legst du einfach Partitionen an mit dem Dateisystem ext3.

/dev/hda1 --> Betriebssystem
/dev/hda5 --> User1
/dev/hda6 --> User2
/dev/hda7 --> User3

Besser wäre es - da ich glaube, dass du da nicht viel warten wirst wenn du das noch etwas anders machst

/dev/hda1 --> / ext3 bootflag
/dev/hda2 --> /var ext3 256 MB
/dev/hda3 --> /tmp ext3 256MB
/dev/hda4 --> swap (2*RAM) MB
/dev/hda5 --> /home/user1 ext3
/dev/hda6 --> /home/user2 ext3
...

Das ganze hat einen entscheidenden Vorteil. Unter linux kann sehr schnell sehr viele Logs anfallen. Resultat: Platte voll. Resultat: Server geht nicht mehr, da er keine Datei mehr anlegen kann usw. Selbes gilt mit tmp-Dateien. Die User-Dinger würde ich in erweiterte partitionen legen, sonst passt das ja alles nicht.

Grundlegendes zur Partitionierung gibs z.b. bei wikipedia
IrOnIcalPrO
IrOnIcalPrO 25.02.2010 um 16:54:58 Uhr
Goto Top
Dank dir Utopia! Das hat mir schon ein ganzes Stück weitergeholfen!
Falls noch Fragen auftreten während ich den Server einrichte, melde ich mich nochmal!face-smile