Samba konfigurieren für MAC/PC Netzwerke

Status
Für weitere Antworten geschlossen.
mikeIV

mikeIV

Aktives Mitglied
Thread Starter
Dabei seit
19.08.2003
Beiträge
270
Reaktionspunkte
0
Tutorial für Samba mit Mac OS X 10.3

Da ich bereits gesehen habe das es in diesen Forum doch diverse Probleme mit Filesharing zu Windows Rechnern gibt, habe ich entschlossen ein kleines Tutorial zu schreiben.
Es ist zwar ein Samba beim OS X dabei, aber an der Konfiguration scheitert es ein wenig. Auch gibt es Tools wie Sharepoints, doch möchte ich es auf die klassische „UNIX“ Methode erklären, weil man auf diese Art einfach viel mehr machen kann um es auszureizen und zu verstehen.

1. Die Samba User
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“.
Man gehe dazu unter Dienstprogramme und öffne das Programm NetInfo Manager. 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 NetInfo Manager 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.

Für die Liebhaber der Terminalumgebung bietet es sich an, die 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/samab 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

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.

3. GLOBAL Settings in der /etc/smb.conf
Fangen wir mit den GLOBALEN Einstellungen an. Sachen die ich ROT schreibe gehören nicht in diese Datei und dienen nur als Erklärung. Ich erkläre auch 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/Klein Schreibung!!!!)
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

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

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 ;-)

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.

http://at.samba.org/samba/docs/man/smb.conf.5.html

Ich hoffe das ich euch damit ein bischen geholfen habe.
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben Unten