semanage_user(3)
โจ semanage_user(3) โจ
okay bestie, welcome to the libsemanage API documentation for SELinux user management ๐ this is the page that tells you everything about the semanage_user thing โ sit down, grab a strawberry ๐, and let's get into it.
๐ธ NAME ๐ธ
semanage_user โ the SELinux User Management API ๐
๐ฆ SYNOPSIS ๐ฆ
#include <semanage/user_record.h>
#include <semanage/users_policy.h>
#include <semanage/users_local.h>
So this object holds all the properties that go with a SELinux user. And here's the vibe: usually many Unix users get mapped to the same SELinux user. Like, one SELinux user, a whole crowd of Unix users, main character energy honestly.
If you want the big-picture overview of the Unix user API, go peek at semanage_seuser(3) ๐ซถ
And if you're here for one specific function? Every function has its own manual page, so go read that one. no cap.
๐ Record API Overview
semanage_user_create(3)โ create a user โจsemanage_user_free(3)โ release resources for this user ๐งนsemanage_user_key_create(3)โ create a key, which can be used to identify a user ๐semanage_user_key_free(3)โ release resources for this user key ๐ซงsemanage_user_key_extract(3)โ create a key matching this user ๐ฏsemanage_user_clone(3)โ create an identical user (a deep-copy clone, so like a twin, not a copy-paste situation) ๐ฏsemanage_user_compare(3)โ compare this user to the provided key โ๏ธsemanage_user_compare2(3)โ compare this user to another ๐
๐ Properties API Overview
semanage_user_get_name(3)โ return the name of this user ๐ท๏ธsemanage_user_set_name(3)โ set the name of this user โ๏ธsemanage_user_get_prefix(3)โ return the labeling prefix for this user, which is used to control the contexts of user directories ๐semanage_user_set_prefix(3)โ set the labeling prefix for this user ๐๏ธsemanage_user_get_mlslevel(3)โ return the default MLS level, which gets assigned to this user at login time ๐semanage_user_set_mlslevel(3)โ set the default MLS level ๐๏ธsemanage_user_get_mlsrange(3)โ return the range of valid MLS sensitivities and categories for this user ๐semanage_user_set_mlsrange(3)โ set the range of valid MLS sensitivities and categories for this user ๐๏ธsemanage_user_add_role(3)โ add a role to the user's list of valid roles โsemanage_user_del_role(3)โ remove a role from the user's list of valid roles โsemanage_user_has_role(3)โ check if a role is valid for this user โsemanage_user_get_num_roles(3)โ return the number of valid roles for this user ๐ขsemanage_user_get_roles(3)โ return an array containing the roles for this user ๐ฆsemanage_user_set_roles(3)โ set the roles for this user ๐
๐๏ธ Record Store API Overview
semanage_user_modify_local(3)โ add or update a user in the local store ๐semanage_user_del_local(3)โ delete a user from the local store ๐๏ธsemanage_user_exists(3)โ check if a user is defined in the persistent policy ๐semanage_user_exists_local(3)โ check if a user is defined in the local store ๐semanage_user_query(3)โ query a user in the persistent policy โsemanage_user_query_local(3)โ query a user in the local store ๐semanage_user_count(3)โ count the number of users defined in the persistent policy ๐งฎsemanage_user_count_local(3)โ count the number of users defined in the local store ๐semanage_user_iterate(3)โ execute a callback for each user in the persistent policy ๐semanage_user_iterate_local(3)โ execute a callback for each user in the local store ๐semanage_user_list(3)โ return an array containing all users in the persistent policy ๐semanage_user_list_local(3)โ return an array containing all users in the local store ๐
okay that's the whole page bestie, every single function accounted for, nothing skipped, we ate and left no crumbs ๐ โจ
๐ cute sign-off time ๐
this iconic lil doc was brought to you by ivg2@cornell.edu, dated 16 March 2006, and it lives in the Libsemanage API documentation section as semanage_user(3). mwah ๐ซถ๐๐ฆ
๐ฆ where this page comes from
- centos-stream 10: libsemanage-devel 3.11-3.el10 ยท LGPL-2.1-or-later
- debian trixie: libsemanage-dev 3.8.1-1 ยท LGPL-2.1-or-later
- fedora 43: libsemanage-devel 3.9-4.fc43 ยท LGPL-2.1-or-later
- fedora 43: libsemanage-devel 3.9-4.fc43 ยท LGPL-2.1-or-later
- fedora 44: libsemanage-devel 3.10-1.fc44 ยท LGPL-2.1-or-later
- fedora 44: libsemanage-devel 3.10-1.fc44 ยท LGPL-2.1-or-later
- fedora 44: libsemanage-devel 3.11-1.fc44 ยท LGPL-2.1-or-later
- fedora 44: libsemanage-devel 3.11-1.fc44 ยท LGPL-2.1-or-later
- nixos 26.05: libsemanage 3.10
- nixpkgs unstable: libsemanage 3.11
- opensuse-leap 16.0: libsemanage-devel 3.8.1-160000.3.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: libsemanage-devel 3.8.1-160000.3.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: libsemanage-devel 3.8.1-160000.3.1 ยท LGPL-2.1-or-later
- opensuse-leap 16.0: libsemanage-devel 3.8.1-160000.3.1 ยท LGPL-2.1-or-later
- ubuntu questing: libsemanage-dev 3.8.1-1
- ubuntu resolute: libsemanage-dev 3.9-1build1 ยท LGPL-2.1-or-later
- ubuntu stonking: libsemanage-dev 3.11-1 ยท LGPL-2.1-or-later
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms