This package is the public YaST2 API for Users/Groups management
Creates new user. User attributes are described in $data_hash, $config_hash describes special configuration data.
Example 315.
my $config = { "type" => "ldap", "plugins" => [ "UsersPluginLDAPAll" ], "bind_dn" => "uid=admin,dc=example,dc=com", }; my $data = { "uid" => "ll", "uidnumber" => 1111, "userpassword" => "qqqqq" "givenName" => "l", "cn" => [ "ll" ] "description" => [ "first", "second" ], }; # create new LDAP user my $error = UserAdd ($config, $data); # create new local user 'hh'; use all available defaults UserAdd ({}, { "uid" => "hh" });
Modifies existing user. User attributes which should be changed are described in $data_hash, $config_hash describes special configuration data, especially user identification.
Example 317.
my $config = { "type" => "ldap", "uidnumber" => 500 }; my $data = { "userpassword" => "wwwww" }; # changes a password of LDAP user (identified with id) my $error = UserModify ($config, $data); # change GID value of local user (identified with name) $error = UserModify ({ "uid" => "hh" }, { "gidnumber" => 5555 });
Adds a new feature (plugin) to the given user.
Deletes a new feature (plugin) to the given user.
Deletes existing user. Identification of user selected for delete is stored in $config_hash.
Disables existing user to log in. Identification of user selected for delete is stored in $config_hash.
Enables existing user to log in. Identification of user selected for delete is stored in $config_hash.
Returns a map describing selected user.
Example 323.
my $config = { "type" => "ldap", "user_attributes" => [ "uid", "uidnumber", "cn" ], "uidnumber" => 500 }; # searches for LDAP user with uidnumber 500 and returns the hash with given # attributes my $user = UserGet ($config); $config = { "type" => "ldap", "uid" => "my_user", "user_base" => "ou=people,dc=example,dc=com", "bind_dn" => "uid=admin,dc=example,dc=com", }; # searches for LDAP user with uid "my_user" in given search base and # returns the hash with all user's non-empty attributes $user = UserGet ($config);
Returns a hash describing the set of users. By default, the hash is indexed by UID number, unless statet otherwise in $config_hash.
Example 324.
my $config = { "type" => "ldap", "user_attributes" => [ "uid", "uidnumber", "cn" ], "user_base" => "ou=people,dc=example,dc=com", "user_scope" => YaST::YCP::Integer (2), "user_filter" => [ "objectclass=posixAccount" ] "index" => "dn" }; # searches for LDAP users in given search base and returns the hash # indexed by DN's with the hash values containing users with given attributes my $users = UsersGet ($config);
Creates new group. Group attributes are described in $data_hash, $config_hash describes special configuration data.
Example 325.
my $config = { "type" => "ldap", "group_plugins" => [ "GroupsPluginsLDAPAll" ], "bind_dn" => "uid=admin,dc=example,dc=com", "group_base" => "ou=groups,dc=example,dc=com" }; my $data = { "gidnumber" => 5555, "cn" => "lgroup", "member" => { "uid=test,ou=people,dc=example,dc=com" => 1, "uid=ll,ou=people,dc=example,dc=com" => 1 } }; # create new LDAP group my $error = GroupAdd ($config, $data); # create new system group GroupAdd ({ "type" => "system" }, { "cn" => "ggg", "userlist" => { "root" => 1, "hh" => 1 } );
Modifies existing group. Group attributes which should be changed are described in $data_hash, $config_hash describes special configuration data, especially group identification.
Example 326.
# change GID value of local group (identified with name) my $error = GroupModify ({ "cn" => "users" }, { "gidnumber" => 101 }); my $config = { "type" => "ldap", "gidnumber" => 5555 }; my $data = { "member" => [ "uid=test,ou=people,dc=example,dc=com", "uid=ll,ou=people,dc=example,dc=com", "uid=admin,dc=example,dc=com" ] }; # changes a member attribute of LDAP group (identified with id) $error = GroupModify ($config, $data);
Example 327.
You can see on example that "member" attribute could be passed either as an array (which could one expect for LDAP attribute) or as hash, (which is used by YaST for internal representation) as shown in example for GroupAdd () function. YaST always takes care of it and does the necessary conversions.
Adds a new member to the given group. User is described in $user_hash, group identification is passwd in $config_hash.
Deletes a member from the group.
Deletes existing group. Identification of group is stored in $config_hash.
Returns a map describing selected group.
Returns a hash describing the set of groups. By default, the hash is indexed by GID number, unless statet otherwise in $config_hash.
Returns a hash describing the set of groups. By default, the hash is indexed by GID number, unless statet otherwise in $config_hash.
Example 333.
my $config = { "type" => "ldap", "index" => "dn" "group_scope" => YaST::YCP::Integer (2), }; my $user = { "dn" => "uid=ll,ou=people,dc=example,dc=com" }; # searches for LDAP groups in default base and returns the hash # indexed by DN's with the hash values containing groups with all # non-empty attributes my $groups = GroupsGetByUser ($config, $user);