semanage\_user(3) Libsemanage API documentation semanage\_user(3)

# [NAME](#NAME)

semanage\_user - SELinux User Management API

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;semanage/user\_record.h&gt;**  
**#include &lt;semanage/users\_policy.h&gt;**  
**#include &lt;semanage/users\_local.h&gt;**

This object contains properties associated with a SELinux user. Typically many Unix users are mapped to the same SELinux user. See [**semanage\_seuser**(3)](/man/os/libsemanage/semanage_seuser.3) for overview of the Unix user API.

For details on a specific function, see its manual page.

# [Record API Overview](#Record_API_Overview)

[**semanage\_user\_create**(3)](/man/os/libsemanage/semanage_user_create.3)**-**  
create a user

[**semanage\_user\_free**(3)](/man/os/libsemanage/semanage_user_free.3)**-**  
release resources for this user

[**semanage\_user\_key\_create**(3)](/man/os/libsemanage/semanage_user_key_create.3)**-**  
create a key, which can be used to identify a user

[**semanage\_user\_key\_free**(3)](/man/os/libsemanage/semanage_user_key_free.3)**-**  
release resources for this user key

[**semanage\_user\_key\_extract**(3)](/man/os/libsemanage/semanage_user_key_extract.3)**-**  
create a key matching this user

[**semanage\_user\_clone**(3)](/man/os/libsemanage/semanage_user_clone.3)**-**  
create an identical user (deep-copy clone)

[**semanage\_user\_compare**(3)](/man/os/libsemanage/semanage_user_compare.3)**-**  
compare this user to the provided key

[**semanage\_user\_compare2**(3)](/man/os/libsemanage/semanage_user_compare2.3)**-**  
compare this user to another

# [Properties API Overview](#Properties_API_Overview)

[**semanage\_user\_get\_name**(3)](/man/os/libsemanage/semanage_user_get_name.3)**-**  
return the name of this user

[**semanage\_user\_set\_name**(3)](/man/os/libsemanage/semanage_user_set_name.3)**-**  
set the name of this user

[**semanage\_user\_get\_prefix**(3)](/man/os/libsemanage/semanage_user_get_prefix.3)**-**  
return the labeling prefix for this user, used to control the contexts of user directories

[**semanage\_user\_set\_prefix**(3)](/man/os/libsemanage/semanage_user_set_prefix.3)**-**  
set the labeling prefix for this user

[**semanage\_user\_get\_mlslevel**(3)](/man/os/libsemanage/semanage_user_get_mlslevel.3)**-**  
return the default MLS level, which is assigned to this user at login time

[**semanage\_user\_set\_mlslevel**(3)](/man/os/libsemanage/semanage_user_set_mlslevel.3)**-**  
set the default MLS level

[**semanage\_user\_get\_mlsrange**(3)](/man/os/libsemanage/semanage_user_get_mlsrange.3)**-**  
return the range of valid MLS sensitivities and categories for this user

[**semanage\_user\_set\_mlsrange**(3)](/man/os/libsemanage/semanage_user_set_mlsrange.3)**-**  
set the range of valid MLS sensitivities and categories for this user

[**semanage\_user\_add\_role**(3)](/man/os/libsemanage/semanage_user_add_role.3)**-**  
add a role to the user's list of valid roles

[**semanage\_user\_del\_role**(3)](/man/os/libsemanage/semanage_user_del_role.3)**-**  
remove a role from the user's list of valid roles

[**semanage\_user\_has\_role**(3)](/man/os/libsemanage/semanage_user_has_role.3)**-**  
check if a role is valid for this user

[**semanage\_user\_get\_num\_roles**(3)](/man/os/libsemanage/semanage_user_get_num_roles.3)**-**  
return the number of valid roles for this user

[**semanage\_user\_get\_roles**(3)](/man/os/libsemanage/semanage_user_get_roles.3)**-**  
return an array containing the roles for this user

[**semanage\_user\_set\_roles**(3)](/man/os/libsemanage/semanage_user_set_roles.3)**-** set the roles for this user

# [Record Store API Overview](#Record_Store_API_Overview)

[**semanage\_user\_modify\_local**(3)](/man/os/libsemanage/semanage_user_modify_local.3)**-**  
add or update a user in the local store

[**semanage\_user\_del\_local**(3)](/man/os/libsemanage/semanage_user_del_local.3)**-**  
delete a user from the local store

[**semanage\_user\_exists**(3)](/man/os/libsemanage/semanage_user_exists.3)**-**  
check if a user is defined in the persistent policy

[**semanage\_user\_exists\_local**(3)](/man/os/libsemanage/semanage_user_exists_local.3)**-**  
check if a user is defined in the local store

[**semanage\_user\_query**(3)](/man/os/libsemanage/semanage_user_query.3)**-**  
query a user in the persistent policy

[**semanage\_user\_query\_local**(3)](/man/os/libsemanage/semanage_user_query_local.3)**-**  
query a user in the local store

[**semanage\_user\_count**(3)](/man/os/libsemanage/semanage_user_count.3)**-**  
count the number of users defined in the persistent policy

[**semanage\_user\_count\_local**(3)](/man/os/libsemanage/semanage_user_count_local.3)**-**  
count the number of users defined in the local store

[**semanage\_user\_iterate**(3)](/man/os/libsemanage/semanage_user_iterate.3)**-**  
execute a callback for each user in the persistent policy

[**semanage\_user\_iterate\_local**(3)](/man/os/libsemanage/semanage_user_iterate_local.3)**-**  
execute a callback for each user in the local store

[**semanage\_user\_list**(3)](/man/os/libsemanage/semanage_user_list.3)**-**  
return an array containing all users in the persistent policy

[**semanage\_user\_list\_local**(3)](/man/os/libsemanage/semanage_user_list_local.3)**-**  
return an array containing all users in the local store

16 March 2006 ivg2@cornell.edu

---

Document: semanage_user(3) from libsemanage 3.11-r3 (Chainguard OS)
Source: https://github.com/SELinuxProject/selinux.git
