getusers
Table of contents
Prototype: getusers(exclude_names, exclude_ids)
Return type: slist
Description: Returns a list of all users defined, except those names in the comma separated string of exclude_names
and the comma separated string of uids in exclude_ids
Arguments:
exclude_names
:string
- Comma separated list of User names - in the range:.*
exclude_ids
:string
- Comma separated list of UserID numbers - in the range:.*
Example:
code
body common control
{
bundlesequence => { "example" };
}
bundle agent example
{
vars:
# The getusers function takes two filtering arguments: exclude_names and
# exclude_ids, both a comma separated list of usernames and user IDs
# respectively.
# To get users with a uid 1000 and greater we generate a list of uids from
# 0 to 999 and convert it into a comma separated string used to filter the
# list of users.
"users_with_uid_gt_999"
slist => getusers( "", join( ",", expandrange( "[0-999]", 1 ) ) );
# Here we get a list of users except usernames nfsnobody and vagrant as
# well as any users with uid 8 or 9
"users_except_nfsnobody_and_vagrant_and_uid_8_and_9"
slist => getusers( "nfsnobody,vagrant", "8,9" );
# Here we get a list of all users by not filtering any
"allusers" slist => getusers("","");
"root_list" slist => { "root" };
# this will get just the root users out of the full user list
"justroot" slist => intersection(allusers, root_list);
reports:
"Found just the root user: $(justroot)";
}
Output:
code
R: Found just the root user: root
Notes:
- This function is currently only available on Unix-like systems.
- This function will return both local and remote (for example, users defined in an external directory like LDAP) users on a system.
History:
- Introduced in CFEngine 3.1.0b1, CFEngine Nova/Enterprise 2.0.0b1 (2010).
See also: getuserinfo()
, users
.