Voll kompatible SMB-Gast-Freigabe
Ich denke, alle Probleme sind gelöst.
Hier nun die Schritt-für-Schritt-Anleitung für die Erstellung von SMB-Gast-Freigaben, die auch von Windows- oder Linux-Klienten (wie NAS & Co.) aus funktionieren. Nachteil: Im Finder tauchen nach erfolgter Installation die anderen Computer im Netzwerk nicht mehr von selbst in der Seitenleiste auf, man muss sie manuell im Finder über Gehe zu - Mit Server verbinden via smb://Computername/ verbinden, anschließend werden sie wieder in der Seitenleiste eingeblendet.
Anmerkung: In der Zeile mit Nummerierung beschreibe ich einen Schritt, dann folgt eine Leerzeile und schließlich kommen die Befehle, die ins Terminal kopiert werden können.
Da ich wenig Erfahrung mit der Thematik habe, bin ich für jede konstruktive Kritik dankbar, ich habe es auf zwei unabhängigen Macs mit OS X 10.9.5 getestet, auf denen es ohne jegliche Probleme funktioniert. Ich bin irritiert, dass ich der erste zu sein scheine, dem alle „Eigenheiten“ aufgefallen sind.
DURCHFÜHRUNG AUF EIGENE GEFAHR
1. In OS X mit einem Benutzer mit Admin-Rechten anmelden.
2. Unter Systemeinstellungen - Freigabe sicherstellen, dass die Dateifreigabe
deaktiviert ist.
3. Terminal öffnen.
4. „Homebrew“ installieren, damit Samba extern heruntergeladen und kompilliert werden kann:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
5. Falls noch nicht installiert, kommt eine Aufforderung, Xcode zu installieren, diese bejaen und eventuell mit Admin-Kennwort bestätigen.
6. Nach erfolgter Homebrew-Installation prüfen, ob es eventuell schon Updates für Homebrew gibt, die nicht bei der Hauptinstallation mitgeliefert wurden:
brew update
7. Prüfen, ob bei Homebrew alles OK ist:
brew doctor
8. Samba installieren:
brew install samba
Warten, es wird heruntergeladen und kompilliert bzw. installiert, das hat bei einem 4-Kern-Mac insgesamt etwa 5 min gedauert.
9. Mit dem Finder in den Ordner
/usr/local/Cellar/samba/3.6.23/etc gehen. Die genaue Versionsnummer im Pfad kann anders sein, zum jetzigen Zeitpunkt ist dies die Version, die installiert wird.
10. In dem Ordner
etc die reine Textdatei
smb.conf erstellen.
Inhalt der smb.conf-Datei (die Version in den Pfadangaben kann bei der eigenen Installation abweichen!):
Code:
[global]
server string = Samba-Server
workgroup = ARBEITSGRUPPE
netbios name = COMPUTERNAME
security = user
map to guest = bad user
smb passwd file = /usr/local/Cellar/samba/3.6.23/private/smbpasswd
private dir = /usr/local/Cellar/samba/3.6.23/private
client NTLMv2 auth = yes
log level = 2
debug timestamp = no
debug hires timestamp = yes
max open files = 16384
ldap ssl = start tls
lock directory = /usr/local/Cellar/samba/3.6.23/var/locks
pid directory = /usr/local/Cellar/samba/3.6.23/var/locks
usershare path = /usr/local/Cellar/samba/3.6.23/var/locks/usershares
idmap cache time = 604800
wide links = no
unix extensions = no
[Freigabename]
comment = Beschreibung der Freigabe
path = /Volumes/Pfad/zum/Freigabeordner
guest ok = yes
writeable = yes
browseable = yes
create mask = 0666
directory mask = 0777
Diese smb.conf ist
nur für die Gast-Freigabe konfiguriert! Die Zeile „unix extensions = no“ ist entscheidend für Folgendes: Auch ohne sie können Gäste auf die Freigabe zugreifen, Dateien und Ordner erstellen und löschen. Wenn man allerdings lokal auf dem Mac in den Freigabeordner geht, wird man beim Bearbeiten oder Löschen der von Gästen erstellten Dateien nach dem Admin-Kennwort gefragt, was mich persönlich stört.
11. Zurück ins Terminal. Jetzt werden die laufenden Apple-SMB-Dienste beendet und dauerhaft deaktiviert:
sudo launchctl stop com.apple.netbiosd
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist
12. Im Finder zum Pfad
/Library/LaunchDaemons wechseln.
13. Erstellen der reinen Textdatei
org.samba.nmbd.plist:
Inhalt der org.samba.nmbd.plist-Datei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.samba.nmbd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/local/Cellar/samba/3.6.23/sbin/nmbd</string>
<string>-F</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>netbios</string>
</dict>
</plist>
Wichtig: Die Samba-Version in der Pfadangabe muss genau mit der tatsächlich installierten übereinstimmen!
14. Erstellen der reinen Textdatei
org.samba.smbd.plist:
Inhalt der org.samba.smbd.plist-Datei:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>org.samba.smbd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/usr/local/Cellar/samba/3.6.23/sbin/smbd</string>
<string>-F</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>ServiceDescription</key>
<string>samba</string>
</dict>
</plist>
Wichtig: Die Samba-Version in der Pfadangabe muss genau mit der tatsächlich installierten übereinstimmen!
15. Zurück ins Terminal. Die erstellten .plist-Dateien müssen vom Benutzer root übernommen und mit entsprechenden Rechten ausgestattet werden:
sudo chown root /Library/LaunchDaemons/org.samba.nmbd.plist
sudo chmod 644 /Library/LaunchDaemons/org.samba.nmbd.plist
sudo chown root /Library/LaunchDaemons/org.samba.smbd.plist
sudo chmod 644 /Library/LaunchDaemons/org.samba.smbd.plist
16. Die nun installierten Samba-Dienste werden gestartet:
sudo launchctl load /Library/LaunchDaemons/org.samba.nmbd.plist
sudo launchctl load /Library/LaunchDaemons/org.samba.smbd.plist
Hinweis: Bei aktivierter OS X-Firewall sollte umgehend die Frage kommen, ob die Dienste eingehende Netzwerkverbindungen annehmen dürfen - dies natürlich bestätigen!
Fertig.