OpenSolaris als Fileserver

Seite 3: Freigaben, Benutzer

Inhaltsverzeichnis

Auf dem Speicherpool kann man nun ein weiteres Dateisystem speziell zur Freigabe via SMB anlegen:

zfs create -o casesensitivity=mixed daten/public
zfs set sharesmb=on daten/public

Mit der Option "casesensitivity=mixed" emuliert OpenSolaris beim Zugriff via SMB das Verhalten von Windows beim Umgang mit Dateinamen: Sie dürfen zwar Groß- und Kleinbuchstaben enthalten, beim Zugriff auf eine Datei unterscheidet das System aber nicht nach Groß- und Kleinschreibung. Solaris würde sich ansonsten wie jedes andere Unix verhalten und foo, Foo und FOO als drei verschiedene Dateien betrachten, die alle im gleichen Verzeichnis liegen dürfen.

Die Dateisystemeigenschaft "sharesmb" sorgt dafür, dass das lokal unter /daten/public eingebundene Dateisystem via SMB freigegeben wird – auch nach dem nächsten Reboot, ohne dass dazu Einträge in irgendwelchen Konfigurationsdateien nötig wären: Die Freigabe über SMB ist eine Eigenschaft des Dateisystems, ebenso wie der Mount-Point.

Ebenfalls eine Eigenschaft des Dateisystems ist der Name der Freigabe. Einen anderen Namen als die Voreinstellung "daten_public", etwa "Alle", setzt man mit

zfs set sharesmb=name=Alle daten/public

Die etwas krude wirkende Syntax mit den zwei Gleichheitszeichen ist tatsächlich korrekt so.

Weitere Freigaben lassen sich nach dem gleichen Muster einrichten; der Befehl

sharemgr show -vp

zeigt die bestehenden Freigaben an. Das Tool "Gemeinsame Ordner" in der Systemverwaltung kann man übrigens nicht zur Freigabe nutzen: Es unterstützt lediglich Samba, nicht aber den Sun-SMB-Server.

Soll der OpenSolaris-Server in einer anderen Arbeitsgruppe als der Vorgabe WORKGROUP auftauchen, lässt sich auch das konfigurieren:

smbadm join -w Workgroup-Name

Der Zugriff auf eine Freigabe erfordert immer die Angabe von Benutzername und Passwort eines unter OpenSolaris angelegten Benutzers, "anonyme" Freigaben oder einen "guest"-Account gibt es nicht.

Um OpenSolaris-Benutzern den Zugriff via SMB zu erlauben, muss man die Datei /etc/pam.conf um die Zeile

other password required pam_smb_passwd.so.1 nowarn

ergänzen. Wer sich nicht mit vi herumschlagen will, öffnet die Datei als der bei der Installation angelegte Hauptbenutzer mit dem Befehl

pfexec gedit /etc/pam.conf

in einem GUI-Editor. Anschließend ist jedem über die grafische Benutzerverwaltung (zu finden im Menü Systemverwaltung) neu angelegten Benutzer der Zugriff via SMB erlaubt. Bei bereits bestehenden Accounts muss man das Passwort einmal mit dem Befehl passwd ändern. Ein neuer Benutzer "smb" mit gleichlautendem Passwort kann für den Zugriff auf die öffentliche Freigabe dienen; für jeden Benutzer, der ein eigenes Verzeichnis auf dem Fileserver erhalten soll, ist ein eigener Account anzulegen.

Wer auf eine Freigabe unter einem bestimmten Benutzernamen zugreift, hat dort genau die Rechte, die derselbe Benutzer bei einer lokalen Anmeldung im System hätte. Man muss also auf der OpenSolaris-Maschine mit den Befehlen chmod (ändert die Zugriffsrechte) und chown (ändert den Besitzer) für die passenden Zugriffsrechte sorgen. So erhalten mit

chmod a+rwx /daten/public

alle Benutzer Lese- und Schreibrechte für das ZFS-Dateisystem daten/public und damit auch für diese Freigabe (Details zu chmod verrät man chmod).

Will man neben dieser für alle Benutzer les- und beschreibbaren Freigabe benutzerspezifische Freigaben einrichten, legt man mit dem Tool "Benutzer und Gruppen" im Systemverwaltungsmenü für jeden Benutzer einen eigenen Account an. Dabei erhält der neue Benutzer ein Homeverzeichnis mit dem Namen des Benutzers in /export/home. /export/home ist der Mountpoint eines eigenen Dateisystems rpool/export/home – der Befehl

zfs list

zeigt alle Dateisysteme an.