Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
SYSTEMD: removed unneeded capabilities
This patch removes capabilities that aren't needed at all. Some (if not all) of remaining capabilities can be probably avoided with proper code changes, but currently those are needed. Examples (not limiting) of those caps usage: - CAP_DAC_OVERRIDE (@additional_caps@): access to /var/log/sssd, to /var/lib/sss/pipes/private/* (sssd:sssd owned sbus-monitor/dp sbus sockets) - CAP_CHOWN: `chown_debug_file()` in case of monitor activation - CAP_SETUID/CAP_SETGID: drop privs in case of monitor activation, switch_creds (in particular, sssd_kcm executing krb5_child for ticket renewal) - CAP_FOWNER: chmod(mem-cache) It's not that clear about 'CAP_KILL'. When 'sssd_be' terminates child process, it either still runs under root (so uid matches and no caps needed) or it dropped privs already and have lost CAP_KILL anyway. Another thing is 'monitor' signalling responders and providers that could be running under 'sssd' while 'monitor' itself runs under 'root'. Reviewed-by: Justin Stephenson <[email protected]> Reviewed-by: Pavel Březina <[email protected]> Reviewed-by: Sumit Bose <[email protected]>
- Loading branch information