customizable_types(5)
π customizable_types β the SELinux customizable types config file, bestie π
okay so this is customizable_types(5), a page from section 5 of the manual (that's the file formats girlies π), all about the SELinux customizable types configuration file. sit down, get a snack, we're doing this π
β¨ NAME β¨
customizable_types β the SELinux customizable types configuration file. that's it, that's the name, she's simple and she knows it π
πΈ DESCRIPTION πΈ
okay so the customizable_types file holds a whole list of types that SELinux-aware applications are allowed to customise in some way. it's giving very "here is my roster of special little types" energy β¨
generally speaking, what we're talking about here is a file context type β and it's usually set on files that need to be shared among certain domains, specifically in the cases where the administrator wants to manually manage the type. like, hand-picked, curated, main character behavior π
β οΈ okay bestie, important: the use of customizable types is deprecated. like, it's lowkey not the vibe anymore π. the preferred approach is to usesemanage(8)fcontext(8)...(8). periodt.
but. BUT. even though it's deprecated, SELinux-aware applications like setfiles(8) will still read this info to get a list of types relating to files that should not be relabeled. so she's still out here doing her job π«Ά
selinux_customizable_types_path(3) will return the active policy path to this file. and the default customizable types file lives at:
/etc/selinux/{SELINUXTYPE}/contexts/customizable_types
where {SELINUXTYPE} is the entry you pulled from the selinux configuration file config β go peek at selinux_config(5) for that one π
and then is_context_customizable(3) reads this file to figure out if a context is customisable or not for the active policy. she's the one checking the receipts π
π FILE FORMAT π
each line in the file is just this, bestie:
type
where:
typeβ the type defined in the policy that can be customised. simple as that π
π EXAMPLE π
# ./contexts/customizable_types
mount_loopback_t
public_content_rw_t
public_content_t
swapfile_t
sysadm_untrusted_content_t
look at her. iconic. no cap π₯
π SEE ALSO π
selinux(8)selinux_customizable_types_path(3)is_context_customizable(3)semanage(8)setfiles(8)selinux_config(5)
and that's the whole page, bestie!! π this was the Security Enhanced Linux edition, dated 28-Nov-2011, and honestly she ate π thanks for reading, ily, go read your policy files responsibly π¦β¨
π¦ where this page comes from
- alpine 3.24: libselinux-doc 3.10-r1 Β· Public-Domain
- centos-stream 10: libselinux-utils 3.11-3.el10 Β· LicenseRef-Fedora-Public-Domain
- centos-stream 9: libselinux-utils 3.6-5.el9 Β· Public Domain
- debian bookworm: selinux-utils 3.4-1+b6
- debian trixie: selinux-utils 3.8.1-1 Β· LicenseRef-public-domain
- fedora 43: libselinux-utils 3.9-5.fc43 Β· LicenseRef-Fedora-Public-Domain
- fedora 44: libselinux-utils 3.10-1.fc44 Β· LicenseRef-Fedora-Public-Domain
- fedora 44: libselinux-utils 3.11-2.fc44 Β· LicenseRef-Fedora-Public-Domain
- nixos 26.05: libselinux 3.10
- nixpkgs unstable: libselinux 3.11
- opensuse-leap 16.0: selinux-tools 3.8.1-160000.4.1 Β· SUSE-Public-Domain
- opensuse-leap 16.0: selinux-tools 3.8.1-160000.4.1 Β· SUSE-Public-Domain
- opensuse-leap 16.0: selinux-tools 3.8.1-160000.4.1 Β· SUSE-Public-Domain
- opensuse-leap 16.0: selinux-tools 3.8.1-160000.4.1 Β· SUSE-Public-Domain
- ubuntu jammy: selinux-utils 3.3-1build2
- ubuntu noble: selinux-utils 3.5-2ubuntu2 Β· LicenseRef-public-domain
- ubuntu noble: selinux-utils 3.5-2ubuntu2.1 Β· LicenseRef-public-domain
- ubuntu questing: selinux-utils 3.8.1-1build1
- ubuntu resolute: selinux-utils 3.9-4build1 Β· LicenseRef-public-domain
- ubuntu stonking: selinux-utils 3.11-2.1 Β· LicenseRef-public-domain
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms