afs_vlserver_selinux(8)
π afs_vlserver_selinux β the glow-up guide
okay bestie, so this is afs_vlserver_selinux(8), and it's literally the SELinux policy page for the afs_vlserver processes. it lives in the SELinux Policy afs_vlserver section of the manual, and no cap, it's way more interesting than it sounds π
β¨ NAME β¨
afs_vlserver_selinux β the Security Enhanced Linux Policy for the afs_vlserver processes π«Ά
πΈ DESCRIPTION πΈ
so what's the vibe? Security-Enhanced Linux secures the afs_vlserver processes via flexible mandatory access control. that's the whole point. it's giving boundaries and honestly we love that for us π
the afs_vlserver processes execute with the afs_vlserver_t SELinux type. and like, how do you know if you even have these processes running? easy. just run the ps command with the -Z qualifier. iykyk.
for example:
ps -eZ | grep afs_vlserver_t
that's it. that's the whole vibe check β¨
πͺ ENTRYPOINTS πͺ
so the afs_vlserver_t SELinux type can be entered via the afs_vlserver_exec_t file type. that's the door, that's the entrance, that's the main character moment π
the default entrypoint paths for the afs_vlserver_t domain are literally these:
/usr/afs/bin/vlserver, /usr/libexec/openafs/vlserver
periodt. those two paths, nothing more π
π PROCESS TYPES π
okay so SELinux defines process types (domains) for each process running on the system. that's just how it is π¦
you can see the context of a process using the -Z option to ps.
policy governs the access confined processes have to files. the SELinux afs_vlserver policy is very flexible, allowing users to setup their afs_vlserver processes in as secure a method as possible. flexible and secure, the duality of woman π
the following process types are defined for afs_vlserver:
afs_vlserver_t
Note: semanage permissive -a afs_vlserver_t can be used to make the process type afs_vlserver_t permissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so like, it won't block anything, but it WILL still read you to filth in the logs π
ποΈ BOOLEANS ποΈ
SELinux policy is customizable based on least access required. the afs_vlserver policy is extremely flexible and has several booleans that allow you to manipulate the policy and run afs_vlserver with the tightest access possible. tightest access possible, that's the goal, we love a minimalist queen π
if you want to allow all domains to execute in fips_mode, you must turn on the fips_mode boolean. enabled by default, bestie, so it's already slaying.
setsebool -P fips_mode 1
π MANAGED FILES π
the SELinux process type afs_vlserver_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 isn't out here doing everything for you π
afs_logfile_t
/usr/afs/logs(/.*)?
afs_vl_db_t
/usr/afs/db/vl.*
those regex-looking things are intentional, that's just how we label whole directories, no cap π₯
ποΈ FILE CONTEXTS ποΈ
SELinux requires files to have an extended attribute to define the file type. it's like a little name tag for your files, iconic honestly π
you can see the context of a file using the -Z option to ls.
policy governs the access confined processes have to these files. the SELinux afs_vlserver policy is very flexible, allowing users to setup their afs_vlserver processes in as secure a method as possible. yes we said it again, because it's true twice π
π STANDARD FILE CONTEXT π
SELinux defines the file context types for the afs_vlserver, and 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. move a file, re-label a file, that's the routine β¨
semanage fcontext -a -t afs_vlserver_exec_t
'/srv/afs_vlserver/content(/.*)?'
restorecon -R -v /srv/myafs_vlserver_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. regex girlies rise π§
the following file types are defined for afs_vlserver:
afs_vlserver_exec_t
- set files with the
afs_vlserver_exec_ttype, if you want to transition an executable to theafs_vlserver_tdomain.
paths:
/usr/afs/bin/vlserver, /usr/libexec/openafs/vlserver
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. sochconis the quick lil temp fix andsemanage fcontext+restoreconis the committed relationship, choose wisely π
π οΈ COMMANDS π οΈ
semanage fcontext can also be used to manipulate default file context mappings.
semanage permissive can also be used to manipulate whether or not a process type is permissive.
semanage module can also be used to enable/disable/install/remove policy modules.
semanage boolean can also be used to manipulate the booleans.
system-config-selinux is a GUI tool available to customize SELinux policy settings. a GUI!! for when you want to click instead of type π±οΈβ¨
βοΈ AUTHOR βοΈ
This manual page was auto-generated using sepolicy manpage. (yes, a robot wrote this, and it ate π€π )
π SEE ALSO π
selinux(8), afs_vlserver(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
go read those next, bestie, the lore runs deep ππ
and that's the whole page, fr fr π«Ά this lil writeup is afs_vlserver dated 26-10-06, and it's version afs_vlserver_selinux(8) β okay ily, go label some files πβ¨π
π¦ 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