cimconfig(8)

πŸ“¦ version 2.14.1, in centos-stream 10, centos-stream 9, fedora 43, fedora 44

🌸 cimconfig β€” get, set, unset, or list CIM Server configuration properties 🌸

okay bestie, welcome to cimconfig(8) β€” the manual page that runs the whole CIM Server configuration situation. grab a snack, we're going through every single property, no skips, no cap πŸ’…


✨ NAME ✨

cimconfig β€” get, set, unset, or list CIM Server configuration properties πŸ’–

πŸŽ€ SYNOPSIS πŸŽ€

cimconfig -g name [ -c ] [ -d ] [ -p ]

cimconfig -s name=value [ -c ] [ -p ]

cimconfig -u name [ -c ] [ -p ]

cimconfig -l [ -c | -p ]

cimconfig -h

cimconfig --help

cimconfig --H name | "All"

cimconfig --version

πŸ¦‹ DESCRIPTION πŸ¦‹

so like, cimconfig is the command that manages CIM Server configuration properties. every operation happens on the local host by sending requests over to the CIM Server. here's the tea on timing:

  • mess with a current configuration property and it takes effect immediately ⚑
  • mess with a planned configuration property and it takes effect the next time the CIM Server gets started with cimserver(8) πŸ•

changes you make to a configuration property through cimconfig stay in effect until you change them again with another cimconfig command. you can also change configuration properties temporarily through the cimserver(8) command β€” but in that case, the modification only sticks around for that one execution of the cimserver(8) command. one and done, no cap.

every configuration property has a default value associated with it, and each property starts out with its default until somebody modifies it with a cimconfig command or a cimserver(8) command. Dynamic configuration properties are the ones whose current values can be set while the CIM server is still running. main character energy only 🌟

here's the whole lineup of configuration properties, bestie:

🌟 authorizedUserGroups

  • Description: If set, the value gets read as a list of comma-separated user groups whose members may issue CIM requests. if you're not a member of any of those groups, you're restricted from issuing CIM requests β€” with the exception of privileged users (superuser), who are still fine. If unset, literally any user may issue CIM requests. Note: this property works together with the other CIM request authorization conditions rather than overriding them, iykyk.
  • Default Value: (None)
  • Dynamic: No

🌟 enableAssociationTraversal

  • Description: If True, the CIM Server will support the four association traversal operators: Associators, AssociatorNames, References, and ReferenceNames. all four, slay ✨
  • Default Value: True
  • Dynamic: No

🌟 enableAuditLog

  • Description: If True, audit log entries for certain types of CIM Server activities get written to the system log. examples of audited activities include a CIM Server configuration change, a Provider registration change, an authentication attempt, and a modification to the CIM Schema or a CIM Instance. each audit log entry describes the who, the what, and the when of the audited activity πŸ‘€
  • Default Value: False
  • Dynamic: Yes

🌟 enableIndicationService

  • Description: If True, the CIM Server will support CIM Indications.
  • Default Value: True
  • Dynamic: No

🌟 enableHttpConnection

  • Description: If True, allows connections to the CIM Server using the HTTP protocol.
  • Default Value: False
  • Dynamic: No

🌟 enableHttpsConnection

  • Description: If True, allows connections to the CIM Server using the HTTPS protocol (HTTP using Secure Socket Layer encryption) πŸ”’
  • Default Value: True
  • Dynamic: No

🌟 enableNamespaceAuthorization

  • Description: If True, the CIM Server restricts access to namespaces based on configured user authorizations [user authorizations may be configured using cimauth(8)].
  • Default Value: False
  • Dynamic: No

🌟 enableRemotePrivilegedUserAccess

  • Description: If True, the CIM Server allows access by a privileged user from a remote system. a lot of management operations require privileged user access, so disabling remote access by a privileged user could significantly affect functionality. not a casual toggle, bestie.
  • Default Value: True
  • Dynamic: No

🌟 enableSubscriptionsForNonprivilegedUsers

  • Description: If True, a nonprivileged user of the system will be allowed to manipulate indication subscriptions, indication filters, and listener destination instances. otherwise, privileged access is required.
  • Default Value: True
  • Dynamic: No

🌟 forceProviderProcesses

  • Description: If true, the CIM Server runs Providers in separate processes rather than loading and calling Provider libraries directly within the CIM Server process.
  • Default Value: True
  • Dynamic: No

🌟 hostname

  • Description: Can be used to override the local system supplied hostname (without domain) that the CIM Server uses to build objects. If it's not set, querying this configuration option will report the system supplied hostname and behavior is not changed. Setting this value to a valid hostname on CIM Server startup, or as a planned value, will force the server to assume the configured name as the local hosts name. setting this lets the administrator choose the name that operations such as associator, reference, etc. return with object paths. When you set this option, fullyQualifiedHostName should be set also.

In common setups it is not recommended to explicitly set this value. some scenarios in which changing the default value makes sense include:

  • The case where what the CIM Server shall return to clients for host name is NOT the name of the current host, but some administrator defined name (ex. system behind a firewall or some redirector).
  • Embedded systems that have a system set hostname which is not valid and needs to be overridden by the CIM administrator without changing the actual IP configuration.
  • Default Value: (blank)
  • Dynamic: No

🌟 fullyQualifiedHostName

  • Description: Can be used to override the local system supplied fully qualified hostname (with domain) that the CIM Server is using to build objects. If it's not set, querying this configuration option will report the system supplied fully qualified hostname and behavior is not changed. Setting this value to a valid hostname on CIM Server startup, or as a planned value, will force the server to assume the configured name as the local hosts name with domain. setting this lets the administrator choose the name that indication operations and the CIM_ObjectManager assume for SystemName returned as instance and key properties.

In common setups it is not recommended to explicitly set this value. some scenarios in which changing the default value makes sense include:

  • The case where what the CIM Server shall return to clients for host name is NOT the name of the current host, but some administrator defined name (ex. system behind a firewall or some redirector).
  • Embedded systems that have a system set hostname which is not valid and needs to be overridden by the CIM administrator without changing the actual IP configuration.
  • Default Value: (blank)
  • Dynamic: No

🌟 idleConnectionTimeout

  • Description: If set to a positive integer, this value specifies a minimum timeout value for idle client connections. If set to zero, idle client connections do not time out.

a client connection counts as idle when it's not in the process of sending a request and the CIM Server isn't processing a request from that connection. an idle connection timeout lets the system reclaim the resources allocated for idle CIM Server connections. heads up though: the CIM Server may let an idle connection persist longer than the configured timeout value, depending on server activity.

some client applications may not behave correctly if a connection timeout is introduced, so think about client compatibility when you're configuring an idle connection timeout value. also the idle connection time is computed using the system clock β€” so resetting the system clock may cause unexpected timeout behavior 😭

  • Default Value: 0
  • Dynamic: No

🌟 listenAddress

  • Description: Network interfaces, if specified, that cimserver(8) should listen to for connection requests. it accepts a comma separated list (without space) of network interfaces. both ipv4 and ipv6 addresses are accepted. the default value of "All" makes cimserver listen to all the available network interfaces. examples include:
-listenAddress=All
-listenAddress=121.12.33.112
-listenAddress=121.33.21.26,127.0.0.1,fe80::fe62:9346%eth0
  • Default Value: All
  • Dynamic: No

🌟 maxFailedProviderModuleRestarts

  • Description: If set to a positive integer, this value specifies the number of times a failed provider module with indications enabled gets restarted automatically before being moved to Degraded state. If set to zero, a failed provider module is not restarted with indications enabled automatically and will be moved to Degraded state immediately.

this option controls the automatic re-enabling of the failed provider module with indications enabled. if the provider module with indications enabled fails very frequently, it affects normal CIMServer operations, because CIMServer would be busy reloading the provider module every single time it fails. this option is helpful if a long running indication provider crashes and the management application wants to keep receiving indications from the provider while a provider fix is being delivered.

in the case of provider module grouping, if one of the indication providers crashes, it affects all indication providers in the provider modules of the group. yikes.

Note that this is the facility provided by the CIMServer for temporary recovery of the provider, and the ultimate goal SHALL be to fix the faulty provider. periodt.

  • Default Value: 3
  • Dynamic: Yes

🌟 maxIndicationDeliveryRetryAttempts

to be continued, bestie… πŸ’– part 2 has the rest πŸ‘‘

Description: bestie, if you set this to a positive integer, the value defines how many times the indication service will enable the reliableIndication feature and try to deliver an indication to a particular listener destination. This does not affect the original delivery attempt, okay? Set it to 0 and the reliable indication feature is disabled completely β€” cimserver will just deliver the indication once and that's it, periodt.

This value is what sets the CIM_IndicationService.DeliveryRetryAttempts property. Peep the CIM_IndicationService.DeliveryRetryAttempts property for more deets.

  • Default Value: 3
  • Dynamic: No

πŸ¦‹ minIndicationDeliveryRetryInterval

Description: if you set this to a positive integer, this value defines the minimal time interval in seconds for the indication service to wait before retrying to deliver an indication to a listener destination that previously failed. Real talk though β€” cimserver may take longer, thanks to QoS or other processing. πŸ’…

This value is used to initialize the property CIM_IndicationService.DeliveryRetryInterval. See the CIM_IndicationService.DeliveryRetryInterval property for more deets.

  • Default Value: 30
  • Dynamic: No

🌸 shutdownTimeout

Description: when a cimserver -s shutdown command is issued, this specifies the maximum time in seconds for the CIM Server to complete outstanding CIM operation requests before shutting down. If the specified timeout period expires, the CIM Server will shut down, even if there are still CIM operations in progress. Minimum value is 2 seconds, so don't get cute with it.

  • Default Value: 30
  • Dynamic: Yes

✨ slpProviderStartupTimeout

Description: timeout value in milli seconds used to specify how long the registration with an SLP SA may take. Registration will be retried three times. πŸ”

You only need to bump this up if the loading of a set of providers β€” whose implementation of a registered profile takes very long β€” is being a whole situation.

  • Default Value: 300000
  • Dynamic: No

πŸŽ€ socketWriteTimeout

Description: specifies the number of seconds the CIM Server will wait for a client connection to be ready to receive data. If the CIM Server is unable to write to a connection in this time, the connection is closed. bye. πŸ‘‹

A client connection can become unable to receive data if the client fails to read the data that has already been sent. This timeout lets the CIM Server reclaim resources that are allocated to a malfunctioning client β€” it's giving cleanup era.

You might consider increasing this timeout value if the CIM Server is prematurely closing connections with well-behaved clients. Rude of it, honestly.

  • Default Value: 20
  • Dynamic: Yes

πŸ‘‘ sslClientVerificationMode

Description: defines the desired level of support for certificate-based authentication. It can be set to required, optional or disabled.

  • If set to required, the CIM Server will require all clients connecting over HTTPS to authenticate using a certificate. If the client certificate is not sent or not trusted, the connection will be rejected. no exceptions bestie.
  • If set to optional, the CIM Server will allow, but not require, HTTPS clients to authenticate using a certificate. If the client does not send a certificate, the CIM Server will attempt to authenticate the client using HTTP basic authentication.
  • If set to disabled, the CIM Server will not allow HTTPS clients to authenticate using a certificate. Basic authentication will be used to authenticate all HTTPS clients.

This property is only used if enableHttpsConnection is true.

  • Default Value: disabled
  • Dynamic: No

πŸ“ traceFileSizeKBytes

Description: defines the size of the tracefile in Kilo bytes. The trace file will be rolled once its size exceeds the specified size.

  • Default Value: 1048576
  • Dynamic: Yes

πŸ’€ numberOfTraceFiles

Description: specifies the number of the tracefiles for rolling.

  • Default Value: 3
  • Dynamic: Yes

🌈 sslCipherSuite

Description: a string containing OpenSSL cipher specifications to configure the cipher suite the client is permitted to negotiate with the server during the SSL handshake phase. The value should be mentioned between single quotes since it can contain special characters like ., +, !, -.

  • Default Value: PROFILE=SYSTEM (Protocols enforced by system-wide crypto policy)
  • Dynamic: No

🫢 sslBackwardCompatibility

Description: this setting specifies whether the ssl supports SSLv3 and versions of TLS lesser than 1.2. Ideally for security compliance purposes it is by default set to false. And honestly? keep it that way, it's giving protection.

  • Default Value: false
  • Dynamic: No

🧚 webRoot

Description: points to a location where the static web pages to be served by the pegasus webserver are stored.

  • Default Value: /var/tog-pegasus/www
  • Dynamic: No

πŸ’œ indexFile

Description: specifies the name of index file used by pegasus webserver, default to index.html. This file should be available at the webRoot path.

  • Default Value: index.html
  • Dynamic: No

πŸ¦‹ mimeTypesFile

Description: refers to the file which holds the mime types being served by the pegasus webserver.

  • Default Value: /var/tog-pegasus/www/mimeTypes.txt
  • Dynamic: No

⭐ httpSessionTimeout

Description: if set to a positive integer, this value specifies a HTTP session lifetime in seconds. After initial authentication using standard HTTP mechanisms (HTTP Basic or Negotiate authentication), the server generates a cookie and sends it back to the client, as described in RFC 6265. The client can then use the cookie in subsequent requests to skip the usual HTTP authentication. The cookie is valid only for period of time specified by this configuration option.

If set to zero, session management is turned off and CIM server will not issue cookies. πŸͺ

This option is available only when Pegasus was compiled with PEGASUS_ENABLE_SESSION_COOKIES set to 'true'.
  • Default Value: 0
  • Dynamic: Yes

If both the enableHttpsConnection and enableHttpConnection properties are set to False, neither HTTP nor HTTPS connections will be allowed. On some platforms, the OpenPegasus CIM Server has been enhanced to include support for a local (single system), non-standard protocol. This allows the OpenPegasus CIM Server to continue to receive and process requests from local OpenPegasus CIM Clients even if both HTTP ports are disabled. If a local protocol is not supported, the CIM Server will be shut down and disabled from automatically being re-started. 😭

The current and planned values of the configuration properties are stored in the files /var/opt/tog-pegasus/cimserver_current.conf and /var/opt/tog-pegasus/cimserver_planned.conf, respectively.

The configuration properties may only be modified via the cimconfig and cimserver (8) commands; the files must not be edited directly. do not touch, bestie, i'm serious πŸ™ˆ

πŸŽ€ Options πŸŽ€

The cimconfig command recognizes the following options:

  • -g configuration_property β€” gets the specified value (current, planned and/or default) of the specified configuration property. By default, gets the current value.
  • -s configuration_property = value β€” sets the specified value (current and/or planned) of the specified configuration property to value. By default, sets the current value.
  • -u configuration_property β€” unsets the specified value (current and/or planned) of the specified configuration property, and resets it to its default value. By default, unsets the current value and resets it to its default value.
  • -l β€” lists all the specified (current or planned) configuration property name and value pairs in the CIM Server. By default, lists only the names of all the current configuration properties.
  • -c β€” specifies that the operation (get, set, unset, or list) be performed on the current configuration properties. For set or unset operations, returns an error when the CIM Server is not running or the specified property is not a dynamic property.
  • -p β€” specifies that the operation (get, set, unset, or list) be performed on the planned configuration properties. For set and unset operations, operates on the value of the specified property in the planned configuration file if the CIM Server is not running.
  • -d β€” specifies that the get operation be performed on the default configuration properties. Returns an error when the CIM Server is not running.
  • -h, --help β€” display the command usage message.
  • -H name|"All" β€” display detailed help information on the configuraton property defined by the name parameter or on all properties if the keyword "All" is used.

πŸ’… EXIT STATUS πŸ’…

When an error occurs, an error message is written to stderr and an error value of 1 is returned. The following return values are returned:

  1. 0 β€” successful completion
  2. 1 β€” error

✨ EXAMPLES ✨

Okay bestie, this is the part where it all clicks. Real commands, real vibes, copy-paste ready πŸ’…


πŸ“ Getting values (the -g era)

Wanna know what your config property shutdownTimeout is currently set to? Say less:

cimconfig -g shutdownTimeout -c

Now if you want the planned value instead β€” like, the one waiting for a restart to become real β€” it's giving:

cimconfig -g shutdownTimeout -p

And if you're curious what the factory default was before anyone touched anything? Iconic, here you go:

cimconfig -g shutdownTimeout -d

πŸŽ€ Setting values (the -s era)

Time to actually change stuff. Set the current value of shutdownTimeout to the new value 15:

cimconfig -s shutdownTimeout=15 -c

Or set the planned value of shutdownTimeout to the new value 5, so it kicks in later:

cimconfig -s shutdownTimeout=5 -p

πŸ¦‹ Resetting values (the -u era)

Changed your mind? Mood. Reset the current value of shutdownTimeout back to its default:

cimconfig -u shutdownTimeout -c

Or reset the planned value of shutdownTimeout back to its default:

cimconfig -u shutdownTimeout -p

🌸 Listing everything (the -l era)

Just wanna see all the current configuration property names, no values, no drama?

cimconfig -l

Want all the current configuration property names and their values? Obsessed with the transparency:

cimconfig -l -c

And all the planned configuration property names with their values? The future is now:

cimconfig -l -p

πŸ“ FILES πŸ“

These are the files doing all the heavy lifting behind the scenes, no cap:

  • /var/opt/tog-pegasus/cimserver_current.conf β€” Current configuration
  • /var/opt/tog-pegasus/cimserver_planned.conf β€” Planned configuration

πŸ‘€ SEE ALSO πŸ‘€

Go read these next, bestie, they're lowkey essential:

  • cimserver (8)
  • cimauth (8)

And that's the whole page, babe 🫢 you now officially understand cimconfig better than most people who use it every day. This was the cimconfig(8) manual page from the Tog-Pegasus gang, dated way back in the day β€” go forth and configure responsibly, mwah πŸ’–βœ¨

πŸ“¦ where this page comes from