(weitergeleitet von Main.SAMBAEinrichten)

Beschreibung

Samba ist eine freie Software-Suite, die das Server-Message-Block-Protokoll (SMB) für Unix- und somit auch Mac OS X-Systeme verfügbar macht. Dieses Protokoll wird manchmal als CIFS (Common Internet File System), LanManager- oder NetBIOS-Protokoll bezeichnet. Seit Jaguar (10.2) bis Snow Leopard (10.6) war der SMB/CIFS-Server fester Bestandteil von Mac OS X. Davor war ab Puma lediglich ein SMB-Client mit an Board. Seit Lion (10.7) fehlt Samba.

Samba ist in der Lage, Funktionen eines Windows-Servers zu übernehmen. Es gilt als stabiler und leistungsfähiger als die Windows-Alternative und ist, da zudem noch frei verfügbar, auch bei vielen Firmen und Organisationen sehr angesehen. Allerdings sind Teile des SMB-Protokolls noch nicht vollständig implementiert. Auch tauchen immer wieder (meist von Microsoft selbst gesponsorte) Studien auf, die zu dem Ergebnis kommen, dass die Windows-eigene Implementierung schneller sei.

<div id="tutorialrahmen"> Was wird gemacht?: Es wird ein Samba Server installiert
Zielgruppe: ...
Dauer: ca. xx Minuten </div>

SAMBA Server installieren

SMB-user

1. Ein Samba User muss immer auch als Unix User auf dem System vorhanden sein. Das heist wir legen über die Systemeinstellung unter Benutzer einen neuen Unix User an. Nachdem wir aber diesen User nicht in unseren OS X sehen möchten, sondern rein für Samba nutzen, werden wir diesen User noch „verstecken“.

Über den NetInfoManager

Man gehe dazu unter Dienstprogramme und öffne das Programm NetInfoManager. Durch einen Klick auf das Schloss und Authentifizierung erhalten wir Schreibrechte auf die lokale Domain. Man klicke dann auf „users“ im mittleren Fenster und suche sich im rechten Fenster denn User raus dem man gerade erstellt hat.

Wir ändern nun den UID des users auf einen Wert unter 500. Ich nehm in meinen Beispiel die UID 499. Als Erklärung: Alle User im System, die eine UID unter 500 haben, werden nicht mehr beim Login angezeigt. Auch stellen wir die Shell von /bin/bash auf /dev/null, da ein Samba User in der Regel keinen Shell-Zugang benötigt.

Im NetInfoManager legen wir auch gleich eine Gruppe „Samba“ an (diese werden wir später für den Shared Ordner brauchen). Am einfachsten dupliziert man die Gruppe _Admin_. Dazu geht man auf „Groups“ dann auf „Admin“ und wählt oben im Menu „Duplizieren“ aus. Nach dem Duplzieren ändern wir im Duplikat den Namen auf samba, dann GID auf 499, und unter users tragen wir die Unix User ein, die später unter Samba Zugriff haben sollen.

Wenn der Unix/Samba User denselben Login und dasselbe Passwort hat wie der Windows XP/2000 User auf seinen Rechner, dann kommt bei einen Verbinden keine Passwort abfrage. Er logt sich gleich automatisch als dieser User ein.

Über Terminal

Für die Liebhaber der Terminalumgebung bietet es sich an, das Shell-Utility niutil einzusetzen. Um dasselbe wie oben zu veranstalten, folgende Befehle eingeben:

sudo niutil -create / /groups/samba
sudo niutil -createprop / /groups/samba gid 499
sudo niutil -create / /users/samba
sudo niutil -createprop / /users/samba gid 499
sudo niutil -createprop / /users/samba uid 499
Unser Beispiel geht davon aus, das wir einen Benutzer Samba mit der UID 499 und eine Gruppe Samba mit der GID 499 anlegen

smb.conf

2. Das Herz, die /etc/smb.conf Die smb.conf ist das Herzstück des Samba Servers. Diese wird von Programmen wie Sharepoints editiert. Wir machen das aber jetzt von Hand. Also öffnen wir mal das Terminal. Im Unix gibt es den Editor Vi, denn ich aber jetzt nicht erklären möchte und er doch etwas gewöhnungsbedürftig ist. Deswegen machen wir das anders.

sudo cp /etc/smb.conf /Users/NAME/Desktop

Sicherheitshalber legen wir noch eine Sicherungskopie der Originaldatei mit

sudo cp /etc/smb.conf /etc/smb.backup

Wobei NAME euer Benutzer ist mit dem Ihr gerade arbeitet. Nun müsste die Datei auf euren Desktop sein und kann mit TextEdit geöffnet werden.

GLOBAL Settings

3. GLOBAL Settings in der /etc/smb.conf Fangen wir mit den GLOBALEN Einstellungen an. Ich erkläre nicht jede Zeile der globalen Einstellungen, kann nur eines sagen, die meisten haben etwas mit der Art der Anmeldung zu tun und welchen Zeichencode SAMBA beim Speichern der Dateien verwenden soll. Ist für uns hier nicht weiter von Bedeutung.

[global]
interfaces = 192.168.1.0/24 <-----Samba lauscht nur in diesen Netz (Security!!!!)
bind interfaces only = yes
workgroup = WORKGROUP <-- Die Workgroups muss auf allen PC/MAC gleich sein (Achtung Gross/Kleinschreibung!!!!)
guest account = unknown
encrypt passwords = yes
auth methods = guest opendirectory
passdb backend = opendirectorysam guest
server string = Mac OS X
unix charset = UTF-8-MAC
display charset = UTF-8-MAC
dos charset = 437
use spnego = no
client ntlmv2 auth = no
hide files = /Temporary Items/.DS_Store/
security = user
browsable = no

Verzeichnis-Freigabe

4. Freigaben in der /etc/smb.conf Nach dem Global Settings kann man nun die einzelnen Verzeichnisse freigeben. Ich werde hier ein paar Beispiele anführen was so möglich ist.

Dieses Beispiel ermöglicht, dass im Netzwerk das Home Verzeichniss des Users NAME gesehen wird. Es ermöglicht, dass die UserA, UserB sowie der der User NAME darauf zugreifen können. Jedoch hat nur der User NAME Schreibrechte auf diesem Laufwerk hat, alle anderen dürfen nur lesen. Schreiben kann in diesen Beispiel übrigens nur derjenige, der die Rechte auf dieses Verzeichniss hat. Und das hat im /Users/NAME mit Sichererheit der User NAME ;-)

[home] <--Unter diesen Namen sieht man die Freigabe
path = /Users/NAME <------Pfad zur Freigabe
comment = irgendwas <------- Kommentar nach Belieben
browseable = yes <----- Ermöglicht, dass es gesehen wird auf den PCs
writeable = no <------ Keiner hat Schreibrechte. Kann auch auf yes geändert werden
write list = NAME
valid users = userA,userB,NAME <------ Ermöglicht nur diesen Userzugriff.

In unserem nächsten Beispiel möchten wir eine Freigabe erstellen, in dem jeder User schreiben kann, aber nur seine eigenen Daten auch wieder löschen darf. Ich nenne dieses einfach mal Shared. In diesen Beispiel haben UserA,B,C und D Zugriff auf Shared. Als erstes legen wir ein Verzeichniss an. Mit chmod 770 und +t konfigurieren wir das Verzeichniss so, dass jeder darin Dateien anlegen kann, aber nur seine eigenen auch selber wieder löschen. Durch das chown ändern wir die Verzeichnisrechte auf den User „[root]“ und die Gruppe samba. Jetzt ist es möglich das jeder User, der in der Gruppe Samba ist, in diesem Verzeichnis Dateien anlegen kann. Wenn Ihr von eurem eigen Rechner aus auf Shared zugreifen wollt, solltet Ihr das auch über smb://localhost machen. Am besten man erstellt sich für dieses Laufwerk ein Alias.

sudo mkdir /Shared
sudo chmod 770 /Shared
sudo chmod +t /Shared
sudo chown root:samba /Shared

[shared]
path = /Shared
valid users = UserA,UserB,UserC,UserD
browseable = yes
comment = shared
writeable = yes

Letzte Schritte

5. smb.conf wieder zurückkopieren

sudo cp /Users/NAME/Desktop/smb.conf /etc/smb.conf
sudo chown root:wheel /etc/smb.conf
Samba neu starten und ausprobieren ;-)

Anmerkungen

Dies waren zwei Beispiele von mir, die ich in Verwendung habe. Die Anzahl der Konfigurationsmöglichkeiten ist groß, und ich lege jedem, der mehr wissen möchte, die Samba Dokumentation ans Herz.

Verweise

Kategorie
Tutorials, MacGyver, Netzwerk, Server

Zuletzt geändert am 24.07.2011 23:16 Uhr von Götz Hoffart ( Besuche)

© 2004 – 2024 ApfelWiki

Impressum - Datenschutz

cb