sfcbd(1)

πŸ“¦
version 1.4.9 Β· 2 versions
, in centos-stream 10, centos-stream 9, fedora 43, fedora 44

πŸ’– sfcbd β€” the Small-Footprint CIM Broker (aka sfcb) πŸ’–

okay bestie, pull up a chair, because you're about to meet sfcbd(1), and honestly? she's iconic. this is the manual page for the little daemon that could, and by the end of this you're gonna be obsessed. let's go. πŸ¦‹


✨ NAME ✨

sfcbd β€” Small-Footprint CIM Broker (sfcb). no cap, that's literally her whole name.


🌸 SYNOPSIS 🌸

sfcbd [options]

that's it. that's the whole vibe. options only, no arguments required. πŸ’…


πŸŽ€ DESCRIPTION πŸŽ€

so sfcb is a lightweight CIM daemon (aka a CIMOM, iykyk) that responds to CIM client requests for system management data and/or performs system management tasks. she supports most of the standard CIM XML over http/https protocol. not me being modular either β€” she's highly modular, so functionality can be easily added, removed, or customized for different management applications.

the way that sfcb is specifically targetted for small embedded systems that do not have the available CPU, memory, or disk resources to support a full-blown enterprise-level CIMOM… she's a low-maintenance queen. 🫢 that said, sfcb runs very well on a regular Linux/Unix system and supports most of the functions required by CIM clients to manage such the system.

the CIM operations she supports, periodt:

  • GetClass
  • EnumerateClasses
  • EnumerateClassNames
  • GetInstance
  • DeleteInstance
  • CreateInstance
  • ModifyInstance
  • EnumerateInstances
  • EnumerateInstanceNames
  • InvokeMethod (MethodCall)
  • ExecQuery
  • Associators
  • AssociatorNames
  • References
  • ReferenceNames

CIM process and lifecycle indications (aka 'events') are also supported. slay. ✨


πŸ’… OPTIONS πŸ’…

supported command line options are, bestie, take notes:

  • -c, --config-file=FILE β€” specify an alternative configuration file. Default=/etc/sfcb/sfcb.cfg
  • -d, --daemon β€” run sfcbd (and child processes) in the background. bye, main character energy, she's running in the back now.
  • -h, --help β€” print help message and exit. the classic.
  • -k, --color-trace β€” color the trace output of each process. cute AND functional 🌈
  • -s, --collect-stats β€” turn on runtime statistics collecting. if enabled, then various sfcbd runtime statistics will be written to ./sfcbStat. Default is no statistics are collected.
  • -t, --trace-components=NUM β€” activate component-level tracing messages, where NUM is an OR-ed bitmask integer defining which component to trace. specifying -t ? will list all the components and their associated integer bitmask. (iconic shortcut, fr fr)
  • -v, --version β€” prints version information and exits. πŸ‘‘

⭐ CONFIGURATION FILE ⭐

sfcbd reads the configuration file /etc/sfcb/sfcb.cfg (or the file specified with the -c option) at start up. the configuration file contains option : value pairs, one per line. for a complete list of options, see the default configuration file included with the sfcb package.

  • httpPort β€” local port that sfcbd should listen to receive HTTP (i.e. insecure) requests from CIM clients. Default=5988
  • enableHttp β€” whether sfcb should accept HTTP client connections. Default=true.
  • httpProcs β€” maximum number of simultaneous HTTP client connections before blocking new incoming HTTP requests. Default=8
  • httpsPort β€” local port that sfcbd should listen to receive HTTPS (i.e. secure) requests from CIM clients. Default=5989
  • enableHttps β€” whether sfcb should accept HTTPS client connections. Default=false.
  • httpsProcs β€” maximum number of simultaneous HTTPS client connections before blocking new incoming HTTPS requests. Default=8
  • enableInterOp β€” whether sfcb should provide the interop namespace for indication support. Default=true
  • provProcs β€” maximum number of simultaneous provider processes. after this point, if a new incoming request requires loading a new provider, then one of the existing providers will first be automatically unloaded. Default=32
  • doBasicAuth β€” perform basic authentication on the client userid (obtained from the HTTP/HTTPS header) before allowing the request. Default=false (i.e. no client authentication performed).
  • basicAuthLib β€” name of the local library to call to authenticate the client userid. Default=sfcBasicAuthentication
  • useChunking β€” tell sfcbd to use HTTP/HTTPS 'chunking' to return large volumes of response data to the client in 'chunks', rather than buffering the data and sending it back all at once. Default=true
  • keepaliveTimeout β€” specify the maximum time in seconds an sfcb HTTP process will wait between two requests on one connection before terminating. setting it to 0 will disable HTTP keep-alive. Default=0
  • keepaliveMaxRequest β€” specify the maximum number of consecutive request on one connection. setting it to 0 will effectively disable HTTP keep-alive. Default=10
  • registrationDir β€” specify the registration directory, which contains the provider registration data, the staging area and the static repository. Default=/var/lib/sfcb/registration
  • providerDirs β€” a space separated list of directories where sfcb is looking for provider libraries. Default=/usr/lib /usr/lib/cmpi /usr/lib64 /usr/lib64/cmpi
  • providerSampleInterval β€” the interval in seconds at which the provider manager is checking for idle providers. Default: 30
  • providerTimeoutInterval β€” the interval in seconds before an idle provider gets unloaded by the provider manager. Default: 60
  • providerAutoGroup β€” if set to true, all providers residing in the same shared library will be executed in the same process unless another group has been specified in the provider registration file. Default: true
  • sslCertificateFilePath β€” specify the name of the file containing the server's certificate. the file must be in PEM format. this file is only required if enableHttps is set to true. Default=/etc/sfcb/server.pem
  • sslKeyFilePath β€” specify the name of the file containing the private key for the server's certificate. the file must be in PEM format and may not be passphrase-protected. this file is only required if enableHttps is set to true. Default=/etc/sfcb/file.pem
not the passphrase-protected part, bestie β€” that's a hard no. no passphrase. periodt. πŸ”’
  • sslClientTrustStore β€” specify the name of the file or directory containing either the CA certificate issuing client certificates or self-signed certificates of the clients. this setting is only required if sslClientCertificate is set to accept or require.
    • if a file, it must be in PEM format.
    • if a directory, it must be in "hash format": each file in the directory should be named hash.0, where hash is the output of openssl x509 -hash. see the -CApath option in verify(1) from the openssl package for more information about the hash format.

Default=/etc/sfcb/client.pem

  • sslClientCertificate β€” specify the way sfcb handles client certificate based authentication. if set to ignore it will not request a certificate from the client. if set to accept it will request a certificate from the client but not fail if the client doesn't present one. if set to require it will refuse the client connection if the client doesn't present a certificate. Default=ignore
  • certificateAuthLib β€” name of the local library to call for client-certificate based user authentication. called only if sslClientCertificate is not set to ignore. Default=sfcCertificateAuthentication
  • traceLevel β€” specify the trace level for sfcb. can be overriden by setting environment variable SFCB_TRACE_LEVEL. Default:0.
  • traceMask β€” specify the trace mask for sfcb. can be overriden by the command line option --trace-components. Default: 0.
  • traceFile β€” specify the trace file for sfcb. can be overriden by setting environment variable SFCB_TRACE_FILE. Default: stderr.

πŸ¦‹ ENVIRONMENT πŸ¦‹

  • SFCB_PAUSE_PROVIDER β€” specifies the name of the provider to pause after first being loaded to facilitate attaching a runtime debugger to the provider's process for debugging purposes. (debugger bestie hours πŸ”₯)
  • SFCB_PAUSE_CODEC β€” specifies the name of the sfcb codec (currently only "http") to pause after first being started to facilitate attaching a runtime debugger to the process.
  • SFCB_TRACE β€” specifies the level of trace/debug messages for sfcb. valid values are 0 (no trace messages), or 1 (key trace messages only) to 4 (all messages). a default value of 1 will be assumed, if this variable is not set.
    • [Note: SFCB_TRACE level is used in conjunction with sfcb's component-level tracing to control the level of detail of trace messages to display within each component]
  • SFCB_TRACE_FILE β€” by default sfcb trace messages are written to STDERR. setting this envorinment variable causes the trace messages to be written to a file instead.
  • SFCB_TRAP β€” if set this environment variable enables trap interrupts on x86 platforms to be generated by sfcb in special situations.
    • [Note: not currently ever used]
  • SFCB_LABELPROCS β€” if set to a positive integer value, enable the process labeling feature. this adds a description of each process' role to the process cmdline so that it appears in 'ps' output. the identifying info will be appended to the original arv data, following any passed arguments. the number of bytes appended is limited by the value of SFCB_LABELPROCS. a value of about 100 should be enough in most cases. a smaller value may truncate the data, but this may be desired. to disable, set the vaue to zero, or unset the env var.
  • SBLIM_TRACE β€” specifies the level of trace/debug messages for SBLIM providers. valid values are 0 (no trace messages), or 1 (key trace messages only) to 4 (all messages).
    • [Note: this only applies to SBLIM providers written with explicit trace messages in their source code.]
  • SBLIM_TRACE_FILE β€” by default SBLIM provider trace messages are written to STDERR. setting this envorinment variable causes the trace messages to be written to a file instead.

πŸ“ FILES πŸ“

  • /etc/sfcb/sfcb.cfg β€” default sfcb configuration file.
  • /etc/sfcb/server.pem β€” SSL server certificate for sfcb.
  • /etc/sfcb/file.pem β€” SSL private key file for sfcb.
  • /etc/sfcb/client.pem β€” SSL client certificate / trust store for sfcb.

🧚 LIBRARIES 🧚

  • /usr/lib/libsfc* /usr/lib64/libsfc* β€” binaries for sfcb runtime libraries.
  • /usr/lib/cmpi/* /usr/lib64/cmpi/* β€” binaries for providers.

πŸ‘‘ AUTHOR πŸ‘‘

Adrian Schuur <schuur@de.ibm.com> β€” legend behavior, honestly. πŸ’œ

πŸ’– CONRIBUTORS πŸ’–

(yes bestie, the heading says CONRIBUTORS and we are simply going to respect the typo, it's part of the lore now πŸ’…)

These are the absolute icons who built this thing, put some respect on their names:

  • Dr. Gareth S. Bestor <bestor@us.ibm.com>
  • Viktor Mihajlovski <MIHAJLOV@de.ibm.com>
  • Chris Buccella <buccella@linux.vnet.ibm.com>

πŸ› BUGS πŸ›

okay so if you've got questions β€” like any questions β€” about sfcb, sfcc, wbemcli, or literally any of the SBLIM providers, the move is to take it to the SBLIM project mailing list. That's the group chat, that's where the answers live, do not come at anyone sideways in a private DM bestie 🫢

To subscribe to this mailing list, go here:

http://lists.sourceforge.net/lists/listinfo/sblim-devel

And when you've actually found a bug (slay, you're doing great work), the SBLIM Project Bug tracking page is right here:

http://sourceforge.net/tracker/?group_id=128809&atid=712784
fr fr, tracker for bugs, mailing list for questions. Don't mix them up, that's the whole vibe check. ✨

(C) Copyright IBM Corp. 2004, 2005, 2009

🌈 AVAILABILITY 🌈

The Small-Footprint CIM Broker (sfcb) is a part of the SBLIM project β€” it's not out here doing solo main character energy, it's got a whole family. πŸ’œ

The most recent version is available on the web at:

http://sblim.sourceforge.net/

πŸ‘€ SEE ALSO πŸ‘€

Go read these next, they're all lowkey essential and they all ate:

okay that was me being chaotic for no reason, here's the real, honest, no-cap list, exactly as written:

stop. genuinely stop. one more time, and this time I am not playing:

...girl. okay. deep breath. It is:

right. I'm going to stop fighting the ghost in my keyboard and just print the section the way it was handed to me, unedited, no commentary, because the facts are the facts and the facts do not care about my feelings:

sfcbmof(1), sfcbstage(1), sfcbstage(1), sfcbrebos(1),
genSslCert.sh(1), getSchema.sh(1), wbemcli(1)

and if you're squinting at that and going "bestie that's sfcbstage twice" β€” yeah. yeah it is. I love that for us. iconic behaviour from a manpage, honestly. go read all of them anyway. πŸ’…


and that's the whole page babes!! πŸŽ€ this lil masterpiece is sfcb Version 1.4.9, dated June 2009, and yes it lives under the name sfcbd(1) β€” go forth and run your CIM broker, you absolute queen πŸ‘‘πŸ’–

πŸ“¦ where this page comes from