dirsrvadmin_selinux(8)
π NAME π
Okay so this is dirsrvadmin_selinux β the Security Enhanced Linux Policy for the dirsrvadmin processes. That's the vibe. π
β¨ DESCRIPTION β¨
Security-Enhanced Linux is literally the bodyguard for the dirsrvadmin processes β it secures them via flexible mandatory access control. No cap, these processes run with the dirsrvadmin_t SELinux type. Wanna check if you've got them running? Just execute the ps command with the -Z qualifier, like this:
ps -eZ | grep dirsrvadmin_t
It's that simple, bestie. π«Ά
π¦ ENTRYPOINTS π¦
The dirsrvadmin_t SELinux type can be entered via the shell_exec_t and dirsrvadmin_exec_t file types. The default entrypoint paths for the dirsrvadmin_t domain are literally these:
/bin/d?ash/bin/ksh.*/bin/zsh.*/usr/bin/d?ash/usr/bin/ksh.*/usr/bin/zsh.*/bin/esh/bin/bash/bin/fish/bin/mksh/bin/sash/bin/tcsh/bin/yash/bin/bash2/usr/bin/esh/sbin/nologin/usr/bin/bash/usr/bin/fish/usr/bin/mksh/usr/bin/sash/usr/bin/tcsh/usr/bin/yash/usr/bin/bash2/usr/sbin/sesh/usr/sbin/smrsh/usr/bin/scponly/usr/libexec/sesh/usr/sbin/nologin/usr/bin/git-shell/usr/sbin/scponlyc/usr/libexec/sudo/sesh/usr/bin/cockpit-bridge/usr/libexec/cockpit-agent/usr/libexec/git-core/git-shell/usr/sbin/stop-ds-admin/usr/sbin/start-ds-admin/usr/sbin/restart-ds-admin
That's the whole list, periodt. π
πΈ PROCESS TYPES πΈ
SELinux defines process types (aka domains) for every process running on your system. You can peep the context of a process using the -Z option with ps. Policy governs the access that confined processes have to files. The SELinux dirsrvadmin policy is super flexible, letting users set up their dirsrvadmin processes in the most secure way possible. πͺ
The following process types are defined for dirsrvadmin:
dirsrvadmin_tdirsrvadmin_unconfined_script_tdirsrvadmin_script_t
Note: You can usesemanage permissive -a dirsrvadmin_tto make the process typedirsrvadmin_tpermissive. SELinux won't deny access to permissive process types, but the AVC (SELinux denials) messages will still be generated. So it's like a vibe check that still logs the drama. π
π BOOLEANS π
SELinux policy is customizable based on the principle of least access required. The dirsrvadmin policy is extremely flexible and has several booleans that let you manipulate the policy and run dirsrvadmin with the tightest access possible. π
- If you want to
dontauditall daemons scheduling requests (setsched,sys_nice), you must turn on thedaemons_dontaudit_schedulingboolean. Enabled by default.
setsebool -P daemons_dontaudit_scheduling 1
- If you want to allow all domains to execute in
fips_mode, you must turn on thefips_modeboolean. Enabled by default.
setsebool -P fips_mode 1
Slay. β¨
π MANAGED FILES π
The SELinux process type dirsrvadmin_t can manage files labeled with the following file types. The paths listed are the default paths for these file types. Just remember: the process's UID still needs to have DAC permissions. No cap. π§
cluster_conf_t/etc/cluster(/.*)?
cluster_var_lib_t/var/lib/pcsd(/.*)?/var/lib/cluster(/.*)?/var/lib/openais(/.*)?/var/lib/pengine(/.*)?/var/lib/corosync(/.*)?/usr/lib/heartbeat(/.*)?/var/lib/heartbeat(/.*)?/var/lib/pacemaker(/.*)?
cluster_var_run_t/var/run/crm(/.*)?/var/run/cman_.*/var/run/rsctmp(/.*)?/var/run/aisexec.*/var/run/heartbeat(/.*)?/var/run/pcsd-ruby.socket/var/run/corosync-qnetd(/.*)?/var/run/corosync-qdevice(/.*)?/var/run/pcsd.socket/var/run/corosync.pid/var/run/cpglockd.pid/var/run/rgmanager.pid/var/run/cluster/rgmanager.sk
dirsrvadmin_tmp_troot_t/sysroot/ostree/deploy/.*-atomic/deploy(/.*)?//initrd
That's the whole list. I kept all paths exactly. π
π§ FILE CONTEXTS π§
SELinux requires files to have an extended attribute to define the file type. You can see the context of a file using the -Z option with ls. Policy governs the access that confined processes have to these files. The SELinux dirsrvadmin policy is super flexible, letting users set up their dirsrvadmin processes in the most secure way possible. π
π STANDARD FILE CONTEXT π
SELinux defines the file context types for dirsrvadmin. If you wanted to store files with these types in different paths, you need to execute the semanage command to specify alternate labeling, and then use restorecon to put the labels on disk. Like this:
semanage fcontext -a -t dirsrvadmin_ra_content_t '/srv/mydirsrvadmin_content(/.*)?'
restorecon -R -v /srv/mydirsrvadmin_content
Note: SELinux often uses regular expressions to specify labels that match multiple files. So regex is your bestie here. π§
The following file types are defined for dirsrvadmin:
dirsrvadmin_config_tβ Set files with thedirsrvadmin_config_ttype if you want to treat the files asdirsrvadminconfiguration data, usually stored under the/etcdirectory.- Paths:
/etc/dirsrv/dsgw(/.*)?,/etc/dirsrv/admin-serv(/.*)?
- Paths:
dirsrvadmin_content_tβ Set files with thedirsrvadmin_content_ttype if you want to treat the files asdirsrvadmincontent.- Paths: (none listed)
dirsrvadmin_exec_tβ Set files with thedirsrvadmin_exec_ttype if you want to transition an executable to thedirsrvadmin_tdomain.- Paths:
/usr/sbin/stop-ds-admin,/usr/sbin/start-ds-admin,/usr/sbin/restart-ds-admin
- Paths:
dirsrvadmin_htaccess_tβ Set files with thedirsrvadmin_htaccess_ttype if you want to treat the file as adirsrvadminaccess file.- Paths: (none listed)
dirsrvadmin_lock_tβ Set files with thedirsrvadmin_lock_ttype if you want to treat the files asdirsrvadminlock data, stored under the/var/lockdirectory- Paths: (none listed)
dirsrvadmin_ra_content_tβ Set files with thedirsrvadmin_ra_content_ttype if you want to treat the files asdirsrvadminread/append content.- Paths: (none listed)
dirsrvadmin_rw_content_tβ Set files with thedirsrvadmin_rw_content_ttype if you want to treat the files asdirsrvadminread/write content.- Paths: (none listed)
dirsrvadmin_script_exec_tβ Set files with thedirsrvadmin_script_exec_ttype if you want to transition an executable to thedirsrvadmin_script_tdomain.- Paths:
/usr/lib/dirsrv/cgi-bin(/.*)?,/usr/lib/dirsrv/dsgw-cgi-bin(/.*)?
- Paths:
dirsrvadmin_tmp_tβ Set files with thedirsrvadmin_tmp_ttype if you want to storedirsrvadmintemporary files in the/tmpdirectories.- Paths: (none listed)
dirsrvadmin_unconfined_script_exec_tβ Set files with thedirsrvadmin_unconfined_script_exec_ttype if you want to transition an executable to thedirsrvadmin_unconfined_script_tdomain.- Paths:
/usr/lib/dirsrv/cgi-bin/ds_create,/usr/lib/dirsrv/cgi-bin/ds_remove
- Paths:
dirsrvadmin_unit_file_tβ Set files with thedirsrvadmin_unit_file_ttype if you want to treat the files asdirsrvadminunit content.- Paths: (none listed)
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. So don't forget that step, bestie! π
π COMMANDS π
Here are some commands that are also super useful:
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 booleancan also be used to manipulate the booleans.system-config-selinuxis a GUI tool available to customize SELinux policy settings.
Use them wisely, queen. π
π AUTHOR π
This manual page was auto-generated using sepolicy manpage. So it's not me, it's the machine. But I made it cute. π
π₯ SEE ALSO π₯
Check out these other manual pages, bestie:
selinux(8)dirsrvadmin(8)semanage(8)restorecon(8)chcon(1)sepolicy(8)setsebool(8)dirsrvadmin_script_selinux(8)dirsrvadmin_script_selinux(8)dirsrvadmin_unconfined_script_selinux(8)dirsrvadmin_unconfined_script_selinux(8)
Yes, there are duplicates in the original, so I'm keeping them. It's giving redundancy but that's what it says. π€·ββοΈ
That's the tea! This manual page is version dirsrvadmin from 26-10-23, and it's the dirsrvadmin_selinux(8) manual. Stay secure, bestie! πβ¨
π¦ where this page comes from
- centos-stream 9: selinux-policy-doc 38.1.87-1.el9 Β· GPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms