Hinweise zum Wechsel zu Samba 4

Mit dem Erreichen des stable-Status von Samba 4 wurde die Entwicklungs- und Maintenancearbeiten für den Samba 3-Zweig eingestellt. Als Folge daraus werden fast alle gängigen Linux-Distributionen (Client- und Server-Varianten) mit Samba 4 statt Samba 3 ausgestattet. Daraus ergeben sich einige Veränderungen, die in diesem Kapitel dokumentiert werden sollen.

Samba-Freigaben sind zentraler Bestandteil für die Funktion von opsi. Durch das "generelle" Update auf Samba 4 gibt es einige Dinge zu beachten, die in folgenden Kapiteln kurz erläutert werden sollen.

Zunächst muss unterschieden werden, in welchem Betriebsmodus Samba ausgeführt wird. Eine besondere Eigenschaft von Samba 4 ist die Möglichkeit einen vollwertigen Active Directory-Kompatiblen Domain Controller zu betreiben. In diesem Betriebsmodus (der aus Vereinfachungsgründen in den folgenden Kapiteln als PDC-Modus bezeichnt wird) gibt es Restriktionen, die aus Kompatibilitätsgründen vom Active Directory übernommen werden mussten. In der Regel sind die neuen Distributionen mit Samba 4 ausgestattet, allerdings nur mit dem normalen Freigaben-Betriebsmodus. Eine vollwertige Active Directory Domain zu betreiben, ist mit den Standardpaketen von den Distributionen in der Regel nicht möglich. Eine Ausnahme stellt hier der Univention Corporate Server dar, bei dem auch in den Standardpaketen der PDC-Modus integriert ist.

Die /etc/opsi/opsi.conf: pcpatch und opsifileadmins

Die Restriktion, die in diesem Kapitel beschrieben wird, betrifft nur den PDC-Modus von Samba 4.

Die klassische Installationsvariante mit dem Benutzer: pcpatch mit der primären Gruppe: pcpatch kann für Installationen mit Samba 4 nicht eingehalten werden. Da Samba 4 den grundlegenden Restriktionen von Active-Directory unterliegt, sind Gruppen mit der gleichen Bezeichnung wie User (wie in Unix/Linux üblich) nicht mehr erlaubt. Aus diesem Grund wurde für Samba 4 Installationen eine neue Konfigurationsdatei eingeführt: /etc/opsi/opsi.conf, über die gesteuert wird, wie die Gruppe für den Samba-Zugriff auf die Freigaben bestimmt wird. Im Fall von Samba 4 Installationen wird nun über diese Datei der Gruppenname pcpatch umbenannt und heißt von nun an: opsifileadmins. Das bedeutet, dass die User, die Zugriffsrechte für die Freigaben von opsi erhalten müssen (opsi-Paketierer) unter Samba 4 nicht Mitglied der Gruppe pcpatch werden können, sondern Mitglied der Gruppe opsifileadmins sein müssen.

Weiterhin muss in diesem Fall der User pcpatch nun als vollwertiger Domänenbenutzer angelegt werden und nicht mehr als Systemuser, da er ansonsten auf die Domänenfreigaben nicht zugreifen kann.

Diese Schritte werden bei einer Installation von opsi auf einem Univention Corporate Server automatisch ausgeführt, wenn bei der Installation erkannt wird, dass das Samba 4 im PDC-Modus läuft.

Da es außer den UCS-Installationen noch keine Standard-Active Directory Konfiguration existiert, müssen diese Schritte bei einem manuell aufgesetzten Samba 4 Active Directory Domaincontoller manuell konfiguriert werden. Wenn das opsi System bei einer späteren Aktualisierung merkt, dass die User schon exisitieren, werden Sie bei der Aktualisierung nicht mehr angelegt.

Für Rückfragen kontaktieren Sie bitte den Support von opsi. Falls Sie keinen Supportvertrag haben, wenden Sie sich bitte an info@uib.de.

Freigaben-Konfiguration

Die Änderungen, die in diesem Kapitel beschrieben werden betreffen alle Betriebsmodis von Samba 4.

In Samba 3 war es allgemein erlaubt, jede Datei oder Verzeichnis auf den Clients auszuführen. Dieses Verhalten wurde in Samba 4 komplett verändert. Nun müssen alle Dateien, die über den Share ausführbar sein sollen, auch auf der Unix-Seite das Executable-Bit gesetzt haben.

Dies stellt ein allgemeines Problem für den Betrieb von opsi dar. Es ist nicht möglich dieses Verhalten über die Rechteverwaltung von opsi zu umgehen, da dies eine komplette Überarbeitung des Rechtesystems von opsi erfordern würde. Dies ist in opsi 4 nicht möglich.

Um das Problem mit opsi 4.0 dennoch zu umgehen, gibt es zwei Möglichkeiten.

Variante 1 (Empfohlen): Man kann folgende Option in der smb.conf setzen:

acl allow execute always = true

Durch diese Option wird für die entsprechenden Freigaben das Verhalten von Samba 3 wiederhergestellt.

Diese Option kann sowohl für einzelne shares als auch global gesetzt werden. Wir empfehlen diese Einstellungen nicht global aber für alle opsi shares vorzunehmen (soweit dies noch nicht automatisch passiert ist).

Diese Variante funktioniert evtl. bei Univention Corporate Server nicht, da hier eine sehr stark angepasste Samba 4 Variante eingesetzt wird. In diesem Fall greifen Sie auf die Variante 2 zurück.

Variante 2: auf den betroffenen Freigaben kann über die Freigabenkonfiguration über die folgende Option für jedes Mitglied der pcpatch-Gruppe (Freigaben-User) dieses Verhalten ausgehebelt werden:

admin users = @pcpatch

Diesen Fix setzt opsi schon seit längerem auch bei UCS >= 3 mit Samba 4 ein. Bei diesem Fix wird der Samba-Prozess der User mit erhöhten Rechten ausgeführt.

opsi setzt automatisch bei Samba 4 Distributionen über opsi-setup --auto-configure-samba diese Option für den 'opsi_depot' Share. Da dieser nur readonly gemounted wird, ist das Sicherheitsrisiko relativ gering.

Für alle anderen Freigaben, die auch Read-Write gemounted werden können, bleibt zu bedenken, dass durch diesen Fix der Samba-Prozess mit erhöhten Rechten ausgeführt wird. Dies kann zu einer potentiellen Gefahr werden. Zur Zeit sind allerdings keine Exploits bekannt, die diesen Umstand als Schwachstelle ausnutzen würden, dennoch ist das natürlich keine Garantie, dass ein solcher Exploit nicht doch existiert.
Der Linux smb Daemon hat einen Bug. Dieser steht in Kombination der 'opsi_depot' Share-Definition in der smb.conf. Die oplock Parameter müssen bei bestehenden Installationen entfernt werden. Neue opsi-Installationen und dementsprechend neue Shares werden ohne oplocks angelegt.

Zugriff auf die Freigaben: clientconfig.depot.user

Diese Restriktion betrifft alle Betriebsmodis von Samba 4.

Im Rahmen der Verwendung von Samba 4 kann es notwendig sein, zum mounten des depotshares explizit anzugeben mit welche Domain / User Kombination dies erfolgen soll. Dazu gibt es den neuen config: clientconfig.depot.user. Gibt es diesen config nicht, so wird der user pcpatch genommen. Der Wert des config hat den Syntax: <domain name>\<user name>

z.B. ein config: clientconfig.depot.user = opsiserver\pcpatch gibt an, dass bei dem Mount des depotshares zur Authentifizierung als domain opsiserver und als user pcpatch angegeben werden soll.

Die Erstellung eines solchen config kann über den opsi-configed erfolgen: Serverkonfiguration / clientconfig / Rechte Maustaste: Standard Konfigurationseintrag hinzufügen.

Die Erstellung eines solchen config kann auch auf der Kommandozeile erfolgen (wobei 'pcpatch' durch den gewünschten string z.B. 'opsiserver\pcpatch' ersetzt werden muss):

opsi-admin -d method config_createUnicode clientconfig.depot.user "clientconfig.depot.user" pcpatch

Dieser Systemweite config kann (z.B. im configed im Reiter Hostparameter) clientspezifisch angepasst werden.