SFCB ist eine Lightweight-Implementierung des CIM-Servers, die aber ebenfalls umfassend konfiguriert werden kann. Ihr Verhalten wird durch verschiedene Optionen gesteuert. Grundlegend können Sie den SFCB-Server mit drei Methoden steuern:
durch Einstellen der entsprechenden Umgebungsvariablen
mittels Kommandozeilenoptionen
durch Änderungen in seiner Konfigurationsdatei
Verschiedene Umgebungsvariablen wirken sich direkt auf das Verhalten von SFCB aus. Zur Übernahme dieser Änderungen müssen Sie den SFCB-Daemon mit rcsfcb restart neu starten.
SFCB_PAUSE_PROVIDER
Gibt den Namen des Anbieters an. Der SFCB-Server wird nach dem erstmaligen Laden des Anbieters angehalten. Dies gibt Ihnen die Gelegenheit, an den Prozess des Anbieters einen Laufzeitdebugger für die Fehlersuche anzuhängen.
SFCB_PAUSE_CODEC
Gibt den Namen des SFCB-Codec an. Der SFCB-Server wird nach dem erstmaligen Laden des Codec angehalten. Dies gibt Ihnen die Gelegenheit, an den Prozess einen Laufzeitdebugger anzuhängen.
SFCB_TRACE
Legt die Stufe der Debug-Meldungen für SFCB fest. Gültige Werte sind 0 (keine Debug-Meldungen) bzw. 1 (wichtige Debug-Meldungen) bis 4 (alle Debug-Meldungen). Der Standardwert ist 1.
SFCB_TRACE_FILE
SFCB gibt seine Debug-Meldungen standardmäßig über die Standardfehlerausgabe (STDERR) aus. Mit dieser Variablen können Sie eine andere Datei für die Ausgabe der Debug-Meldungen einstellen.
SBLIM_TRACE
Legt die Stufe der Debug-Meldungen für SBLIM-Anbieter fest. Gültige Werte sind 0 (keine Debug-Meldungen) bzw. 1 (wichtige Debug-Meldungen) bis 4 (alle Debug-Meldungen).
SBLIM_TRACE_FILE
SBLIM-Anbieter geben ihre Debug-Meldungen standardmäßig über STDERR aus. Mit dieser Variablen können Sie eine andere Datei für die Ausgabe der Debug-Meldungen einstellen.
Der SFCB-Daemon sfcbd bietet verschiedene Kommandozeilenoptionen, mit denen bestimmte Laufzeitfunktionen ein- und ausgeschaltet werden können. Diese Optionen werden beim Start des SFCB-Daemons eingegeben.
-c, --config-file=DATEI
Beim Start des SFCB-Daemons liest der Daemon seine Konfiguration standardmäßig aus der Datei /etc/sfcb/sfcb.cfg ein. Mit dieser Option können Sie eine andere Konfigurationsdatei angeben.
-d, --daemon
Führt sfcbd und seine untergeordneten Prozesse im Hintergrund aus.
-s, --collect-stats
Aktiviert die Statistikerfassung während der Laufzeit. In diesem Fall werden während der Laufzeit verschiedene sfcbd-Statistiken in die Datei sfcbStat im aktuellen Arbeitsverzeichnis geschrieben. Standardmäßig werden keine Statistiken erfasst.
-l, --syslog-level=PROTOKOLLSTUFE
Legt die Ausführlichkeit des Systemprotokolls fest. PROTOKOLLSTUFE kann LOG_INFO, LOG_DEBUG oder LOG_ERR (Standard) sein.
-t, --trace-components=NUMMER
Aktiviert Trace-Meldungen auf Komponentenebene. NUMMER ist dabei ein mit dem logischen Operator OR gebildetes Bitmask-Integer, das festlegt, für welche Komponente ein Trace erstellt werden soll. Mit -t ? können Sie eine Liste sämtlicher Komponenten mit ihren Bitmask-Integern abrufen:
tux@mercury:~> sfcbd -t ? --- Traceable Components: Int Hex --- providerMgr: 1 0x0000001 --- providerDrv: 2 0x0000002 --- cimxmlProc: 4 0x0000004 --- httpDaemon: 8 0x0000008 --- upCalls: 16 0x0000010 --- encCalls: 32 0x0000020 --- ProviderInstMgr: 64 0x0000040 --- providerAssocMgr: 128 0x0000080 --- providers: 256 0x0000100 --- indProvider: 512 0x0000200 --- internalProvider: 1024 0x0000400 --- objectImpl: 2048 0x0000800 --- xmlIn: 4096 0x0001000 --- xmlOut: 8192 0x0002000 --- sockets: 16384 0x0004000 --- memoryMgr: 32768 0x0008000 --- msgQueue: 65536 0x0010000 --- xmlParsing: 131072 0x0020000 --- responseTiming: 262144 0x0040000 --- dbpdaemon: 524288 0x0080000 --- slp: 1048576 0x0100000
Ein nützlicher Wert, der Aufschluss über die internen Funktionen von sfcbd gibt, aber nicht zu viele Meldungen generiert, ist -t 2019.
SFCB liest seine Laufzeitkonfiguration nach dem Start aus der Konfigurationsdatei /etc/sfcb/sfcb.cfg ein. Dieses Verhalten kann beim Starten mit der Option -c überschrieben werden.
Die Konfigurationsdatei enthält pro Zeile ein Options-/Wertepaar (Option : Wert). Diese Datei können Sie in jedem Texteditor bearbeiten, der die Datei in einem von der Umgebung unterstützten Format speichert.
Jede Einstellung in dieser Datei, deren Optionen durch ein Nummernzeichen (#) auskommentiert sind, verwendet die Standardeinstellung.
Die folgenden Optionen werden erkannt:
Gibt die Nummer des lokalen Ports an, den SFCB auf nicht sichere HTTP-Anforderungen von CIM-Clients überwacht. Die Standardeinstellung ist 5988.
httpPort: portnummer
Legt fest, ob SFCB HTTP-Clientverbindungen akzeptiert. Die Standardeinstellung ist false.
enableHttp: option
|
Option |
Beschreibung |
|---|---|
|
true |
Aktiviert HTTP-Verbindungen. |
|
false |
Deaktiviert HTTP-Verbindungen. |
Legt die maximale Anzahl gleichzeitiger HTTP-Clientverbindungen fest, ab der neu eingehende HTTP-Anforderungen blockiert werden. Die Standardeinstellung ist 8.
httpProcs: max_anzahl_verbindungen
Gibt die Nummer des lokalen Ports an, den SFCB auf HTTPS-Anforderungen von CIM-Clients überwacht. Die Standardeinstellung ist 5989.
httpsPort: portnummer
Legt fest, ob SFCB HTTPS-Clientverbindungen akzeptiert. Die Standardeinstellung ist true.
enableHttps: option
|
Option |
Beschreibung |
|---|---|
|
true |
Aktiviert HTTPS-Verbindungen. |
|
false |
Deaktiviert HTTPS-Verbindungen. |
Legt die maximale Anzahl gleichzeitiger HTTPS-Clientverbindungen fest, ab der neu eingehende HTTPS-Anforderungen blockiert werden. Die Standardeinstellung ist 8.
httpsProcs: max_anzahl_verbindungen
Legt fest, ob SFCB den interop-Namespace für die Unterstützung von Bezeichnungen bereitstellt. Die Standardeinstellung ist true.
enableInterOp: option
|
Option |
Beschreibung |
|---|---|
|
true |
Aktiviert den interop-Namespace. |
|
false |
Deaktiviert den interop-Namespace. |
Legt die maximale Anzahl gleichzeitiger Anbieterprozesse fest. Wenn nach Erreichen dieser Anzahl eine neu eingehende Anforderung das Laden eines neuen Anbieters erfordert, wird zunächst automatisch einer der vorhandenen Anbieter entladen. Die Standardeinstellung ist 32.
provProcs: max_anzahl_prozesse
Legt fest, ob vor dem Akzeptieren einer Anforderung eine Basisauthentifizierung an der Benutzer-ID des Clients durchgeführt wird. Die Standardeinstellung ist true,
d. h. die Clientauthentifizierung wird nicht durchgeführt.
doBasicAuth: option
|
Option |
Beschreibung |
|---|---|
|
true |
Aktiviert die Basisauthentifizierung. |
|
false |
Deaktiviert die Basisauthentifizierung. |
Gibt den Namen der lokalen Bibliothek an. Der SFCB-Server lädt die Bibliothek zur Authentifizierung der Benutzer-ID des Clients. Die Standardeinstellung ist sfcBasicPAMAuthentication.
provProcs: max_anzahl_prozesse
Diese Option aktiviert bzw. deaktiviert die Verwendung von HTTP/HTTPS-"Chunking". Wenn aktiviert, gibt der Server große Mengen an Antwortdaten an den Client in kleineren "Chunks" zurück, statt sie im Puffer zu sammeln und auf einmal zurückzusenden. Die Standardeinstellung ist true.
useChunking: option
|
Option |
Beschreibung |
|---|---|
|
true |
Aktiviert HTTP/HTTPS-Daten-Chunking. |
|
false |
Deaktiviert HTTP/HTTPS-Daten-Chunking. |
Legt die maximale Zeit in Sekunden fest, die der SFCB-HTTP-Prozess innerhalb einer Verbindung auf die nächste Anforderung wartet, bevor er beendet wird. Bei der Einstellung 0 wird HTTP-Keep-Alive deaktiviert. Die Standardeinstellung ist 0.
keepaliveTimeout: sekunden
Legt die maximale Anzahl aufeinanderfolgender Anforderungen innerhalb einer Verbindung fest. Bei der Einstellung 0 wird HTTP-Keep-Alive deaktiviert. Die Standardeinstellung ist 10.
keepaliveMaxRequest: anzahl_verbindungen
Gibt das Registrierungsverzeichnis an, das die Registrierungsdaten der Anbieter, den Staging-Bereich und das statische Repository enthält. Die Standardeinstellung ist /var/lib/sfcb/registration.
registrationDir: verzeichnis
Gibt eine durch Leerzeichen getrennte Liste mit Verzeichnissen an, die SFCB nach Anbieterbibliotheken durchsucht. Die Standardeinstellung ist /usr/lib64 /usr/lib64 /usr/lib64/cmpi.
providerDirs: verzeichnis
Legt das Intervall in Sekunden fest, in dem der Anbietermanager nach unbeschäftigten Anbietern sucht. Die Standardeinstellung ist 30.
providerSampleInterval: sekunden
Legt die Zeit in Sekunden fest, nach der ein unbeschäftigter Anbieter vom Anbietermanager entladen wird. Die Standardeinstellung ist 60.
providerTimeoutInterval: sekunden
Sofern in der Registrierungsdatei des Anbieters keine andere Gruppe angegeben ist und diese Option auf true gesetzt ist, werden alle Anbieter der gleichen gemeinsam genutzten Bibliothek im gleichen Prozess ausgeführt.
providerAutoGroup: option
|
Option |
Beschreibung |
|---|---|
|
true |
Aktiviert die Gruppierung von Anbietern. |
|
false |
Deaktiviert die Gruppierung von Anbietern. |
Gibt den Namen der Datei an, die das Serverzertifikat enthält. Die Datei muss im PEM-Format vorliegen (Privacy Enhanced Mail, RFC 1421 und RFC 1424). Diese Datei ist nur erforderlich, wenn enableHttps auf true gesetzt ist. Die Standardeinstellung ist /etc/sfcb/server.pem.
sslCertificateFilePath: pfad
Gibt den Namen der Datei an, die den privaten Schlüssel für das Serverzertifikat enthält. Die Datei muss im PEM-Format vorliegen und darf nicht durch einen Passwortsatz geschützt sein. Diese Datei wird nur benötigt, wenn enableHttps auf true gesetzt ist. Die Standardeinstellung ist /etc/sfcb/file.pem.
sslKeyFilePath: pfad
Gibt den Namen der Datei an, die die von der Zertifizierungsstelle ausgegebenen oder eigensignierten Zertifikate der Clients enthält. Die Datei muss im PEM-Format vorliegen, ist aber nur erforderlich, wenn sslClientCertificate auf accept oder require gesetzt ist. Die Standardeinstellung ist /etc/sfcb/client.pem.
sslClientTrustStore: pfad
Legt fest, wie SFCB die Authentifizierung auf Basis von Clientzertifikaten handhabt. Bei ignore wird kein Zertifikat vom Client angefordert. Bei accept wird zwar ein Zertifikat vom Client angefordert, die Authentifizierung schlägt jedoch nicht fehl, wenn der Client keines bereitstellt. Bei require wird die Clientverbindung abgelehnt, wenn der Client kein gültiges Zertifikat bereitstellt. Die Standardeinstellung ist ignore.
sslClientCertificate: option
|
Option |
Beschreibung |
|---|---|
|
ignore |
Deaktiviert die Anforderung eines Clientzertifikats. |
|
accept |
Aktiviert die Anforderung eines Clientzertifikats. Schlägt jedoch nicht fehl, wenn kein Zertifikat bereitgestellt wird. |
|
require |
Lehnt die Clientverbindung ab, wenn kein gültiges Zertifikat bereitgestellt wird. |
Gibt den Namen der lokalen Bibliothek an, mit deren Hilfe die Benutzerauthentifizierung auf Basis des Clientzertifikats durchgeführt wird. Die Benutzerauthentifizierung findet nur statt, wenn sslClientCertificate nicht auf ignore gesetzt ist. Die Standardeinstellung ist sfcCertificateAuthentication.
certificateAuthLib: datei
Legt die Trace-Stufe für SFCB fest. Diese Einstellung kann durch die Umgebungsvariable SFCB_TRACE_LEVEL überschrieben werden. Die Standardeinstellung ist 0.
traceLevel: nummer_der_stufe