rpcd_selinux(8)
π rpcd_selinux β the manual page, but make it make sense
okay so bestie, you opened rpcd_selinux(8) β it's SELinux Policy rpcd (that's the manual name, iykyk) and honestly it's giving "the most important page you'll ever skim." Let's get into it. π
β¨ NAME β¨
rpcd_selinux β the Security Enhanced Linux Policy for the rpcd processes. periodt.
πΈ DESCRIPTION πΈ
Security-Enhanced Linux secures the rpcd processes via flexible mandatory access control. That's the whole vibe: SELinux is the bouncer, the processes stay in their lane.
The rpcd processes execute with the rpcd_t SELinux type. You can check if you have these processes running by executing the ps command with the -Z qualifier. Slay, let's check:
ps -eZ | grep rpcd_t
π¦ ENTRYPOINTS π¦
The rpcd_t SELinux type can be entered via the rpcd_exec_t file type. That's the door, bestie. πͺ
The default entrypoint paths for the rpcd_t domain are the following:
/usr/bin/rpc..*, /usr/bin/nfsdcld, /usr/bin/sm-notify,
/usr/bin/rpc.idmapd, /usr/bin/rpc.rquotad
π PROCESS TYPES π
SELinux defines process types (domains) for each process running on the system. One type per vibe, basically.
You can see the context of a process using the -Z option to ps.
Policy governs the access confined processes have to files. SELinux rpcd policy is very flexible allowing users to setup their rpcd processes in as secure a method as possible. fr fr, it's flexible like that.
The following process types are defined for rpcd:
rpcd_t
Note:semanage permissive -a rpcd_tcan be used to make the process typerpcd_tpermissive. SELinux does not deny access to permissive process types, but the AVC (SELinux denials) messages are still generated. so likeβ¦ it stops blocking, but it's still snitching. π
π₯ BOOLEANS π₯
SELinux policy is customizable based on least access required. rpcd policy is extremely flexible and has several booleans that allow you to manipulate the policy and run rpcd with the tightest access possible. toggles! we love toggles. ποΈ
If you want to allow rpcd_t to manage fuse files, you must turn on the rpcd_use_fusefs boolean. Disabled by default.
setsebool -P rpcd_use_fusefs 1
If you want to dontaudit all daemons scheduling requests (setsched, sys_nice), you must turn on the daemons_dontaudit_scheduling boolean. 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 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
π§ MANAGED FILES π§
The SELinux process type rpcd_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 overriding your regular perms, bestie β both checkpoints apply. π
cluster_conf_t
/etc/cluster(/.*)?
cluster_tmp_t
(no default paths listed, she's mysterious π«Ά)
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
/run/crm(/.*)?
/run/cman_.*
/run/rsctmp(/.*)?
/run/aisexec.*
/run/heartbeat(/.*)?
/run/pcsd-ruby.socket
/run/corosync-qnetd(/.*)?
/run/corosync-qdevice(/.*)?
/run/pcsd.socket
/run/corosync.pid
/run/cpglockd.pid
/run/rgmanager.pid
/run/cluster/rgmanager.sk
fusefs_t
/run/user/[0-9]+/gvfs
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
quota_db_t
/a?quota.(user|group)
/etc/a?quota.(user|group)
/var/a?quota.(user|group)
/boot/a?quota.(user|group)
/var/spool/(.*/)?a?quota.(user|group)
/var/spool/cron/a?quota.(user|group)
/var/lib/openshift/a?quota.(user|group)
/var/lib/stickshift/a?quota.(user|group)
/home/[^/]+/a?quota.(user|group)
/home/a?quota.(user|group)
root_t
/sysroot/.aleph-version.json
/sysroot/ostree/deploy/.*-atomic/deploy(/.*)?
/
/initrd
/var/lib/ntp
rpcd_lock_t
/run/rpc.statd.lock
rpcd_var_run_t
/run/sm-notify.*
/run/rpc.statd(/.*)?
/run/rpc.statd.pid
var_lib_nfs_t
/var/lib/nfs(/.*)?
var_lib_t
/opt/(.*/)?var/lib(/.*)?
/var/lib(/.*)?
/var/lib/ntp/var/lib(/.*)?
π FILE CONTEXTS π
SELinux requires files to have an extended attribute to define the file type. yes, files have lore now. β¨
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 rpcd policy is very flexible allowing users to setup their rpcd processes in as secure a method as possible.
STANDARD FILE CONTEXT
SELinux defines the file context types for the rpcd, 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. main character energy: move the files and update the database. π
semanage fcontext -a -t rpcd_var_run_t '/srv/rpcd/content(/.*)?'
restorecon -R -v /srv/myrpcd_content
Note: SELinux often uses regular expressions to specify labels that match multiple files.
The following file types are defined for rpcd:
rpcd_exec_t
- Set files with the
rpcd_exec_ttype, if you want to transition an executable to therpcd_tdomain.
Paths:
/usr/bin/rpc..*, /usr/bin/nfsdcld, /usr/bin/sm-notify,
/usr/bin/rpc.idmapd, /usr/bin/rpc.rquotad
rpcd_initrc_exec_t
- Set files with the
rpcd_initrc_exec_ttype, if you want to transition an executable to therpcd_initrc_tdomain.
Paths:
/etc/rc.d/init.d/nfslock, /etc/rc.d/init.d/rpcidmapd
rpcd_lock_t
- Set files with the
rpcd_lock_ttype, if you want to treat the files asrpcdlock data, stored under the/var/lockdirectory
rpcd_unit_file_t
- Set files with the
rpcd_unit_file_ttype, if you want to treat the files asrpcdunit content.
rpcd_var_run_t
- Set files with the
rpcd_var_run_ttype, if you want to store therpcdfiles under the/runor/var/rundirectory.
Paths:
/run/sm-notify.*, /run/rpc.statd(/.*)?, /run/rpc.statd.pid
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 like:chcon= temp lil fix,semanage fcontext+restorecon= permanent glow-up. π
π 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 booleancan also be used to manipulate the booleanssystem-config-selinuxis a GUI tool available to customize SELinux policy settings. (a GUI!! for the mouse girlies π±οΈπ)
π AUTHOR π
This manual page was auto-generated using sepolicy manpage. not a human wrote this, and yet here we are, emotionally attached. π
β SEE ALSO β
selinux(8), rpcd(8), semanage(8), restorecon(8), chcon(1), sepolicy(8), setsebool(8)
π¦ and that's the whole page, bestie! this one's for rpcd, dated 26-10-06, and it lives at rpcd_selinux(8) in the manual β go forth and label responsibly. no cap. π«ΆπΈ
π¦ 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