swat_selinux(8)
π
swat_selinux(8) β the SELinux vibe check for your swat processes
okay so real quick, before we even get into it: this whole page is about swat_selinux, the SELinux policy manual for stuff running as swat. yes bestie, the manual name goes right there at the top, we're not doing the boring header line thing. buckle up π
β¨ NAME β¨
swat_selinux β the Security Enhanced Linux Policy for the swat processes, aka the official rulebook for how your swat processes get to behave π
πΈ DESCRIPTION πΈ
Security-Enhanced Linux secures the swat processes via flexible mandatory access control. that's the whole assignment. mandatory access control. not a suggestion, not a vibe, mandatory. π
The swat processes execute with the swat_t SELinux type. you can check if you've got these processes running by executing the ps command with the -Z qualifier β that's the flag that shows you the context, iykyk.
For example:
ps -eZ | grep swat_t
go off, find your processes π
π¦ ENTRYPOINTS π¦
The swat_t SELinux type can be entered via the swat_exec_t file type. that's the door, that's the entry point, that's how you get in π
The default entrypoint paths for the swat_t domain are the following:
/usr/bin/swat
one path. iconic. no notes. β
π PROCESS TYPES π
SELinux defines process types (domains) for each process running on the system. every process gets a little identity, a little main character label, that's the domain.
You can see the context of a process using the -Z option to ps.
Policy governs the access confined processes have to files. SELinux swat policy is very flexible allowing users to setup their swat processes in as secure a method as possible. flexible AND secure, we love a both/and situation π«Ά
The following process types are defined for swat:
swat_t
Note:semanage permissive -a swat_tcan be used to make the process typeswat_tpermissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, it stops saying no, but it still writes down that it would have said no. honestly relatable. π
π BOOLEANS π
SELinux policy is customizable based on least access required. swat policy is extremely flexible and has several booleans that allow you to manipulate the policy and run swat with the tightest access possible. tightest access possible, that's the goal, that's the dream π
If you want to allow all domains to execute in fips_mode, you must turn on the fips_mode boolean. Enabled by default.
setsebool -P fips_mode 1
If you want to allow system to run with NIS, you must turn on the nis_enabled boolean. Disabled by default.
setsebool -P nis_enabled 1
(that -P is the "make it stick across reboots" flag, don't skip it unless you want your settings to ghost you π β ok no, the page doesn't say that, but the -P is literally in the command so use it π)
π PORT TYPES π
SELinux defines port types to represent TCP and UDP ports.
You can see the types associated with a port by using the following command:
semanage port -l
Policy governs the access confined processes have to these ports. SELinux swat policy is very flexible allowing users to setup their swat processes in as secure a method as possible.
The following port types are defined for swat:
swat_port_t
Default Defined Ports:
tcp 901
one port, tcp 901, that's her π
π§ MANAGED FILES π§
The SELinux process type swat_t can manage files labeled with the following file types. the paths listed are the default paths for these file types. Note the processes UID still need to have DAC permissions. SELinux says yes but DAC can still say no, two bouncers at the same door, sorry π
faillog_t
/var/log/btmp.*
/run/faillock(/.*)?
/var/log/faillog.*
/var/log/tallylog.*
krb5_host_rcache_t
/var/tmp/krb5_0.rcache2
/var/cache/krb5rcache(/.*)?
/var/tmp/nfs_0
/var/tmp/DNS_25
/var/tmp/host_0
/var/tmp/imap_0
/var/tmp/HTTP_23
/var/tmp/HTTP_48
/var/tmp/ldap_55
/var/tmp/ldap_487
/var/tmp/ldapmap1_0
samba_log_t
/var/log/samba(/.*)?
samba_secrets_t
/etc/samba/smbpasswd
/etc/samba/passdb.tdb
/etc/samba/MACHINE.SID
/etc/samba/secrets.tdb
swat_tmp_t
swat_var_run_t
(those last two are just vibes β no default paths listed, fr fr)
π FILE CONTEXTS π
SELinux requires files to have an extended attribute to define the file type. yes, files have labels, everything has a label, welcome to SELinux πΈ
You can see the context of a file using the -Z option to ls.
Policy governs the access confined processes have to these files. SELinux swat policy is very flexible allowing users to setup their swat processes in as secure a method as possible.
β STANDARD FILE CONTEXT β
SELinux defines the file context types for the swat, if you wanted to store files with these types in a different paths, you need to execute the semanage command to specify alternate labeling and then use restorecon to put the labels on disk.
semanage fcontext -a -t swat_exec_t '/srv/swat/content(/.*)?'
restorecon -R -v /srv/myswat_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regexes, in your labels, more likely than you think π
The following file types are defined for swat:
swat_exec_tβ Set files with theswat_exec_ttype, if you want to transition an executable to theswat_tdomain.swat_tmp_tβ Set files with theswat_tmp_ttype, if you want to store swat temporary files in the/tmpdirectories.swat_var_run_tβ Set files with theswat_var_run_ttype, if you want to store the swat files under the/runor/var/rundirectory.
Note: File context can be temporarily modified with thechconcommand. If you want to permanently change the file context you need to use thesemanage fcontextcommand. This will modify the SELinux labeling database. You will need to userestoreconto apply the labels. temporarychcon= cute little trial run,semanage fcontext+restorecon= the real deal, the permanent commitment π«Ά
π₯ COMMANDS π₯
semanage fcontextcan also be used to manipulate default file context mappings.semanage permissivecan also be used to manipulate whether or not a process type is permissive.semanage modulecan also be used to enable/disable/install/remove policy modules.semanage portcan also be used to manipulate the port definitionssemanage booleancan also be used to manipulate the booleanssystem-config-selinuxis a GUI tool available to customize SELinux policy settings. a whole GUI, for when you're feeling clicky instead of typey β¨
π AUTHOR π
This manual page was auto-generated using sepolicy manpage .
(not me writing a whole personality for a page that a script spat out, but here we are π)
π SEE ALSO π
selinux(8), swat(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
and that's the whole thing bestie, no cap π this page was brought to you by swat on 26-10-06 β that's the source/version and date right there at the bottom, and it lives under swat_selinux(8) so you can find it again whenever you need her π¦β¨π
π¦ where this page comes from
- opensuse-leap 16.0: selinux-policy-doc 20250627+git412.dbf877ab7-160000.1.1 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms