vas
: Manages Dell Authentication Services previously known as VAS / QAS.
vas::api_fetch
: Query a remote HTTP-based service for entries to be added to users_allow.
Vas::API::Config
: API configuration
Puppet module to manage DELL Authentication Services previously known as VAS or Quest Authentication Services.
When using the users.allow functionality in VAS, make sure to set the following option: pam::allowed_users:
- 'ALL'
The module creates facts as below:
- vas_usersallow - A list of entries in /etc/opt/quest/vas/users.allow.
- vas_domain - The domain that the host belongs to.
- vas_server_type - The server types (GC, DC, PDC).
- vas_servers - List of servers that VAS is using for authentication.
- vas_site - The AD-site that the host belongs to.
- vas_version - The complete version-string for the vas-client.
- vasmajversion - The Major version of the vas-client.
vas::username: 'joinuser'
vas::keytab_source: '/net/server/join.keytab'
vas::computers_ou: 'ou=computers,dc=example,dc=com'
vas::users_ou: 'ou=users,dc=example,dc=com'
vas::nismaps_ou: 'ou=nismaps,dc=example,dc=com'
vas::realm: 'realm.example.com'
The following parameters are available in the vas
class:
manage_nis
manage_pam
manage_nsswitch
package_version
enable_group_policies
users_allow_entries
users_deny_entries
user_override_entries
group_override_entries
username
keytab_path
keytab_source
keytab_owner
keytab_group
keytab_mode
vas_fqdn
computers_ou
users_ou
nismaps_ou
user_search_path
group_search_path
upm_search_path
nisdomainname
realm
domain_change
sitenameoverride
vas_conf_client_addrs
vas_conf_vasypd_update_interval
vas_conf_full_update_interval
vas_conf_group_update_mode
vas_conf_root_update_mode
vas_conf_disabled_user_pwhash
vas_conf_expired_account_pwhash
vas_conf_locked_out_pwhash
vas_conf_preload_nested_memberships
vas_conf_update_process
vas_conf_upm_computerou_attr
vas_conf_vasd_update_interval
vas_conf_vasd_auto_ticket_renew_interval
vas_conf_vasd_lazy_cache_update_interval
vas_conf_vasd_timesync_interval
vas_conf_vasd_cross_domain_user_groups_member_search
vas_conf_vasd_password_change_script
vas_conf_vasd_password_change_script_timelimit
vas_conf_vasd_workstation_mode
vas_conf_vasd_workstation_mode_users_preload
vas_conf_vasd_workstation_mode_group_do_member
vas_conf_vasd_workstation_mode_groups_skip_update
vas_conf_vasd_ws_resolve_uid
vas_conf_vasd_deluser_check_timelimit
vas_conf_vasd_delusercheck_interval
vas_conf_vasd_delusercheck_script
vas_conf_vasd_username_attr_name
vas_conf_vasd_groupname_attr_name
vas_conf_vasd_uid_number_attr_name
vas_conf_vasd_gid_number_attr_name
vas_conf_vasd_gecos_attr_name
vas_conf_vasd_home_dir_attr_name
vas_conf_vasd_login_shell_attr_name
vas_conf_vasd_group_member_attr_name
vas_conf_vasd_memberof_attr_name
vas_conf_vasd_unix_password_attr_name
vas_conf_vasd_netgroup_mode
vas_conf_prompt_vas_ad_pw
vas_conf_pam_vas_prompt_ad_lockout_msg
vas_conf_libdefaults_forwardable
vas_conf_libdefaults_tgs_default_enctypes
vas_conf_libdefaults_tkt_default_enctypes
vas_conf_libdefaults_default_etypes
vas_conf_libdefaults_default_cc_name
vas_conf_vas_auth_uid_check_limit
vas_conf_vas_auth_allow_disconnected_auth
vas_conf_vas_auth_expand_ac_groups
vas_conf_libvas_vascache_ipc_timeout
vas_conf_libvas_use_server_referrals
vas_conf_libvas_use_server_referrals_version_switch
vas_conf_libvas_auth_helper_timeout
vas_conf_libvas_mscldap_timeout
vas_conf_libvas_site_only_servers
vas_conf_libvas_use_dns_srv
vas_conf_libvas_use_tcp_only
vas_conf_lowercase_names
vas_conf_lowercase_homedirs
vas_config_path
vas_config_owner
vas_config_group
vas_config_mode
vas_user_override_path
vas_user_override_owner
vas_user_override_group
vas_user_override_mode
vas_group_override_path
vas_group_override_owner
vas_group_override_group
vas_group_override_mode
vas_users_allow_path
vas_users_allow_owner
vas_users_allow_group
vas_users_allow_mode
vas_users_deny_path
vas_users_deny_owner
vas_users_deny_group
vas_users_deny_mode
vasjoin_logfile
vastool_binary
symlink_vastool_binary_target
symlink_vastool_binary
license_files
domain_realms
join_domain_controllers
unjoin_vas
use_srv_infocache
kdcs
kdc_port
kpasswd_servers
kpasswd_server_port
api_enable
api_users_allow_url
api_token
api_ssl_verify
api_config
Data type: Boolean
FIXME Missing description
Default value: true
Data type: Boolean
Include pam class
Default value: true
Data type: Boolean
Include nsswitch class
Default value: true
Data type: String[1]
The VAS package version. Used when upgrading.
Default value: 'installed'
Data type: Boolean
Boolean to control if vas should manage group policies. Manages the vasgp package. Version is controlled by package_version.
Default value: true
Data type: Array[String[1]]
List of users.allow entries. All users are allowed by default.
Default value: []
Data type: Array[String[1]]
List of users.deny entries. No users are denied by default.
Default value: []
Data type: Array[String[1]]
List of user-override entries. Used to override specific user data fields; UID, GID, GECOS, HOME_DIR and SHELL.
Default value: []
Data type: Array[String[1]]
List of group-override entries. Used to override specific group data fields; GROUP_NAME, GID and GROUP_MEMBERSHIP.
Default value: []
Data type: String[1]
Name of user account used to join Active Directory.
Default value: 'username'
Data type: Stdlib::Absolutepath
The path to the keytab file used together with to join Active Directory.
Default value: '/etc/vasinst.key'
Data type: Optional[String[1]]
File source for the keytab file used to join Active Directory.
Default value: undef
Data type: String[1]
keytab file owner.
Default value: 'root'
Data type: String[1]
keytab file group.
Default value: 'root'
Data type: Stdlib::Filemode
keytab file mode.
Default value: '0400'
Data type: Stdlib::Fqdn
FQDN to join to VAS as.
Default value: $facts['networking']['fqdn']
Data type: Optional[String[1]]
Path to OU where to store computer object.
Default value: undef
Data type: Optional[String[1]]
Deprecated, this parameter is the same as upm_search_path. Path to OU where to load UPM user profiles.
Default value: undef
Data type: String[1]
Path to OU where to load nismaps initially.
Default value: 'ou=nismaps,dc=example,dc=com'
Data type: Optional[String[1]]
LDAP search path for user profiles. This will limit the scope where QAS will search for users when operating in RFC2307 mode.
Default value: undef
Data type: Optional[String[1]]
LDAP search path for groups. This will limit the scope where QAS will search for groups when operating in RFC2307 mode.
Default value: undef
Data type: Optional[String[1]]
LDAP search path for UPM user profiles. Setting this parameter will cause QAS to run in UPM mode.
Default value: undef
Data type: Optional[String[1]]
Name of the NIS domain.
Default value: undef
Data type: Stdlib::Host
Name of the realm.
Default value: 'realm.example.com'
Data type: Boolean
FIXME Missing description
Default value: false
Data type: Optional[String[1]]
Name of AD site to join. The AD site is determined automatically in AD by default.
Default value: undef
Data type: Optional[String[1,1024]]
client-addrs option in vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Integer[0]
Integer for number of seconds vasypd will wait between checks for updated NIS Map information in Active Directory. See VAS.CONF(5).
Default value: 1800
Data type: Optional[Integer]
Integer for number of seconds vasypd will wait until it fully reloads all the NIS maps. See VAS.CONF(5)
Default value: undef
Data type: String[1]
The value of group-update-mode in the [nss_vas] configuration section. This controls how directory searches will be handeled for group nss functions. See VAS.CONF(5) for more info. Possible values: force | force-if-missing | none
Default value: 'none'
Data type: String[1]
The value of root-update-mode in the [nss_vas] configuration section. This controls how directory searches will be performed when calling nss functions. See VAS.CONF(5) for more info. Possible values: force | force-if-missing | none
Default value: 'none'
Data type: Optional[String[1]]
String to be used for disabled-user-pwhash option in vas.conf. If undef, line will be suppressed.
Default value: undef
Data type: Optional[String[1]]
String to be used for expired-account-pwhash option in vas.conf. If undef, line will be suppressed.
Default value: undef
Data type: Optional[String[1]]
String to be used for locked-out-pwhash option in vas.conf. If undef, line will be suppressed.
Default value: undef
Data type: Optional[Boolean]
preload-nested-membership option in vas.conf. Set this to 'false' to speed up flush (and join) operations in VAS version 4.0.3-206 and later.
Default value: undef
Data type: Stdlib::Absolutepath
update-process option in vas.conf. See VAS.CONF(5) for more info.
Default value: '/opt/quest/libexec/vas/mapupdate_2307'
Data type: Optional[String[1]]
upm-computerou-attr option in vas.conf. Changed to 'department' to work in a multi-AD-domain setup. See VAS.CONF(5) for more info.
Default value: undef
Data type: Integer[0]
Integer for number of seconds to set value of update-interval in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: 600
Data type: Integer[0]
Integer for number of seconds to set value of auto-ticket-renew-interval in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: 32400
Data type: Integer[0]
Integer for number of minutes for the value of lazy-cache-update-interval in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: 10
Data type: Optional[Integer]
Integer for number of seconds to set value of timesync-interval in [vasd] section of vas.conf. See VAS.CONF(5) for more info. If $::virtual is "zone" this value is set to 0
Default value: undef
Data type: Optional[Boolean]
Boolean to set value of cross-domain-user-groups-member-search in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path for script to set value of password-change-script in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[Integer]
Integer for number of seconds to set value of password-change-script-timelimit in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Boolean
Boolean to control whether or not vasd operates in Workstation mode. See VAS.CONF(5) for more info.
Default value: false
Data type: Optional[String[1]]
Comma separated list of groups for preloading users in Workstation mode. See VAS.CONF(5) for more info.
Default value: undef
Data type: Boolean
Boolean to control if vasd should process group memberships in Workstation mode. See VAS.CONF(5) for more info.
Default value: false
Data type: Boolean
Boolean that can be used to reduce the number of updates by vasd in Workstation mode. See VAS.CONF(5) for more info.
Default value: false
Data type: Boolean
Boolean to control whether vasd will resolve unknown UIDs when in Workstation mode. See VAS.CONF(5) for more info.
Default value: false
Data type: Optional[Integer]
Integer for number of seconds to set value of deluser-check-timelimit in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[Integer]
Integer for number of minutes to set value of delusercheck-interval in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[Stdlib::Absolutepath]
Path for script to set value of delusercheck-script in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for username-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for groupname-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for uid-number-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for gid-number-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for gecos-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for home-dir-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for login-shell-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for group-member-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for memberof-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[String[1]]
String to be used for unix_password-attr-name in [vasd] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[Enum['NSS', 'NIS', 'OFF']]
String to be used to set value of netgroup-mode in the [vasd] section of vas.conf. Valid values are 'NSS', 'NIS' and 'OFF'. If not specified, the netgroup-mode parameter will not be set in vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: String[1]
prompt-vas-ad-pw option in vas.conf. Sets the password prompt for logins.
Default value: '"Enter Windows password: "'
Data type: Optional[String[1]]
prompt-ad-lockout-msg option in vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Boolean
Boolean to set value of forwardable in [libdefaults] vas.conf. See VAS.CONF(5) for more info.
Default value: true
Data type: String[1]
FIXME Missing description
Default value: 'arcfour-hmac-md5'
Data type: String[1]
FIXME Missing description
Default value: 'arcfour-hmac-md5'
Data type: String[1]
String to set value of default_etypes in [libdefaults] vas.conf. See VAS.CONF(5) for more info.
Default value: 'arcfour-hmac-md5'
Data type: Optional[String[1]]
String to set where kerberos cache files should be stored (default on most systems is /tmp/krb5cc_${uid}). Example: FILE:/new/path/krb5cc_${uid}
Default value: undef
Data type: Optional[Integer]
Integer for uid-check-limit option in vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[Boolean]
Boolean to set value of allow-disconnected-auth option in [vas_auth] section of vas.conf. See VAS.CONF(5) for more info. If set to 'UNSET' nothing will get printed.
Default value: undef
Data type: Optional[Boolean]
Boolean to set value of expand-ac-groups option in [vas_auth] section of vas.conf. See VAS.CONF(5) for more info. If set to 'UNSET' nothing will get printed.
Default value: undef
Data type: Integer[0]
Integer for number of seconds to set value of vascache-ipc-timeout in [libvas] section of vas.conf. See VAS.CONF(5) for more info.
Default value: 15
Data type: Variant[Boolean, Enum['']]
Boolean to set valut of use-server-referrals in [libvas] section of vas.conf. See VAS.CONF(5) for more info. Set to 'USE_DEFAULTS' for automagically switching depending on running $vas_version. Also see $vas_conf_libvas_use_server_referrals_version_switch.
Default value: true
Data type: String[1]
String with version number to set use-server-referrals to false when $vas_conf_libvas_use_server_referrals is set to 'USE_DEFAULTS'. Equal or higher version numbers will pull the trigger.
Default value: '4.1.0.21518'
Data type: Integer[0]
Integer for number of seconds to set value of auth-helper-timeout in [libvas] section of vas.conf. See VAS.CONF(5) for more info.
Default value: 10
Data type: Integer[0]
Integer to control the timeout when performing a MSCLDAP ping against AD Domain Controllers. See VAS.CONF(5) for more info.
Default value: 1
Data type: Boolean
Boolean to set valut of site-only-servers in [libvas] section of vas.conf. See VAS.CONF(5) for more info.
Default value: false
Data type: Boolean
Boolean to set value of use-dns-srv in [libvas] section of vas.conf. See VAS.CONF(5) for more info.
Default value: true
Data type: Boolean
Boolean to set value of use-tcp-only in [libvas] section of vas.conf. See VAS.CONF(5) for more info.
Default value: true
Data type: Optional[Boolean]
Boolean to set value of lowercase-names in [nss_vas] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Optional[Boolean]
Boolean to set value of lowercase-homedirs in [nss_vas] section of vas.conf. See VAS.CONF(5) for more info.
Default value: undef
Data type: Stdlib::Absolutepath
Path to VAS config file.
Default value: '/etc/opt/quest/vas/vas.conf'
Data type: String[1]
vas.conf owner.
Default value: 'root'
Data type: String[1]
vas.conf group.
Default value: 'root'
Data type: Stdlib::Filemode
vas.conf mode.
Default value: '0644'
Data type: Stdlib::Absolutepath
Path to user-override file.
Default value: '/etc/opt/quest/vas/user-override'
Data type: String[1]
user-override file owner.
Default value: 'root'
Data type: String[1]
user-override file group.
Default value: 'root'
Data type: Stdlib::Filemode
user-override file mode.
Default value: '0644'
Data type: Stdlib::Absolutepath
Path to user-override file.
Default value: '/etc/opt/quest/vas/group-override'
Data type: String[1]
group-override file owner.
Default value: 'root'
Data type: String[1]
group-override file group.
Default value: 'root'
Data type: Stdlib::Filemode
group-override file mode.
Default value: '0644'
Data type: Stdlib::Absolutepath
Path to users.allow file.
Default value: '/etc/opt/quest/vas/users.allow'
Data type: String[1]
users.allow file owner.
Default value: 'root'
Data type: String[1]
users.allow file group.
Default value: 'root'
Data type: Stdlib::Filemode
users.allow file mode.
Default value: '0644'
Data type: Stdlib::Absolutepath
Path to users.deny file.
Default value: '/etc/opt/quest/vas/users.deny'
Data type: String[1]
users.deny file owner.
Default value: 'root'
Data type: String[1]
users.deny file group.
Default value: 'root'
Data type: Stdlib::Filemode
users.deny file mode.
Default value: '0644'
Data type: Stdlib::Absolutepath
Path to logfile used by AD join commando.
Default value: '/var/tmp/vasjoin.log'
Data type: Stdlib::Absolutepath
Path to vastool binary to create symlink from.
Default value: '/opt/quest/bin/vastool'
Data type: Stdlib::Absolutepath
Path to where the symlink should be created.
Default value: '/usr/bin/vastool'
Data type: Boolean
Boolean for ensuring a symlink for vastool_binary to symlink_vastool_binary_target. This is useful since /opt/quest/bin is a non-standard location that is not in your $PATH.
Default value: false
Data type: Hash
Hash of license files.
Default value: {}
Data type: Hash
Hash of domains that should be mapped to correct realm.
Default value: {}
Data type: Array[String[1]]
A string or an array with domain controllers to contact during the join process. Normally the servers for the domain will be automatically detected through DNS and LDAP lookups. By specifying this parameter vastool will contact the specified servers and only those servers during the join process. This can be useful if the machine being joined is not able to talk with all global Domain Controllers (e.g. due to firewalls). Note that this will have no effect after the join, where normal site discovery of servers will be made.
Default value: []
Data type: Boolean
Boolean to trigger an unjoining of the domain. Obviously this will only work if the system is joined to a domain.
Default value: false
Data type: Optional[Boolean]
A bool to achieve the same thing as issuing "vastool configure vas libvas use-srv-info-cache " Only has any effect if set to false.
Default value: undef
Data type: Array[String[1]]
An array of kdcs that are to be entered under the [realms] section. If set has the same effect as issuing "vastool configure realm domain.tld srv1.domain.tld srv2.domain.tld". (eg)
Default value: []
Data type: Stdlib::Port
An integer containing the kdc port. Has no effect unless kdcs is populated with servernames.
Default value: 88
Data type: Array[String[1]]
An array of kpasswd servers that are to be entered under the [realms] section Normally needs not be set unless you want something different than the value of kdcs (above).
Default value: []
Data type: Stdlib::Port
An integer containing the kpasswd server port. Has no effect unless kpasswd_servers or kdcs is populated with servernames.
Default value: 464
Data type: Boolean
A boolean to control, whether the API function is called. If called, the API will return a list of entries for the users.allow file. This result will be merged with whatever content is provided otherwise provided; i.e. it will be concatenated with the content created by parameters users_allow_entries.
Default value: false
Data type: Optional[Stdlib::HTTPSUrl]
The URL towards the API. Deprecated parameter, replaced by $api_config. Will be removed next major releaase.
Default value: undef
Data type: Optional[String[1]]
Security token for authenticated access to the API. Deprecated parameter, replaced by $api_config. Will be removed next major releaase.
Default value: undef
Data type: Boolean
Whether TLS connections should be verified or not. Deprecated parameter, replaced by $api_config. Will be removed next major releaase
Default value: false
Data type: Optional[Vas::API::Config]
API configuration
Default value: undef
Type: Ruby 4.x API
Query a remote HTTP-based service for entries to be added to users_allow.
vas::api_fetch([{'url' => "https://host.domain.tld/api/${facts['trusted.certname']}"}])
vas::api_fetch([
{'url' => "https://host1.domain.tld/api/${facts['trusted.certname']}", 'token' => 'token123', 'ssl_verify' => true},
{'url' => "https://host2.domain.tld/api/${facts['trusted.certname']}", 'token' => 'token321', 'ssl_verify' => true},
])
Query a remote HTTP-based service for entries to be added to users_allow.
Returns: Hash
Key 'content' with [Array] if API responds. Key 'errors' with [Array[String]] if errors happens.
vas::api_fetch([{'url' => "https://host.domain.tld/api/${facts['trusted.certname']}"}])
vas::api_fetch([
{'url' => "https://host1.domain.tld/api/${facts['trusted.certname']}", 'token' => 'token123', 'ssl_verify' => true},
{'url' => "https://host2.domain.tld/api/${facts['trusted.certname']}", 'token' => 'token321', 'ssl_verify' => true},
])
Data type: Vas::API::Config
Hash with API configuration
API configuration
Alias of
Array[Struct[
url => Stdlib::HttpsUrl,
token => Optional[String[1]],
ssl_verify => Optional[Boolean],
]]