Wie überprüfen ob Samba 4 verwendet wird?

german

#1

Hallo,

bei den Tests das nächste Release von opsi4ucs ist uns aufgefallen, dass im Join-Script unser Vorgehen zum Überprüfen, ob das System ein Samba4-System ist, auf einem UCS 3.2 (genauer 3.2-3 errata218) nicht die erwarteten Ergebnisse liefert. Wir erwarten in einem solchen Fall, dass SAMBA4 auf 1 gesetzt wird.

Der Code sah bisher so aus:

SAMBA_INIT_SCRIPT="/etc/init.d/samba" if [ "$(ucr get samba/domain/security)" == "ads" ]; then if [ "$UCS_VERSION" = "3.1" ]; then SAMBA_INIT_SCRIPT="/etc/init.d/samba4" fi SAMBA4=1 else SAMBA4=0 fi

Beim manuellen Check ist aufgefallen, dass die Abfrage mittels ucr (ucr get samba/domain/security) keinen Wert zurück liefert. Bei genauerer Betrachtung stellte sich heraus, dass ein entsprechender Eintrag samba/domain/security nicht existiert.

Wie kann man für alle 3er-Versionen von UCS zuverlässig herausbekommen, ob ein System mit Samba 4 läuft oder nicht?

Mit freundlichen Grüßen

Das opsi4ucs-Team


#2

Auf UCS 3.x Systemen mit Samba4 liefert die UCR Variable samba4/role die Samba-Rolle des Systems:

eval "$(ucr shell samba4/role)" if [ -n "$samba4_role" ]; then echo "The local UCR is configured as Samba/AD $samba4_role" SAMBA_INIT_SCRIPT="/etc/init.d/samba4" fi

Alternativ kann am Rechnerobjekt im LDAP-Verzeichnis geprüft werden, ob der service “Samba 4” registriert ist.


#3

Hallo requate,

vielen Dank für die Antwort.
Erste Tests damit sehen sehr gut aus :slight_smile:

Mit freundlichen Grüßen aus Mainz

Das opsi4ucs-Team