policy_module(accountsd, 1.0.6) gen_require(` class passwd all_passwd_perms; ') gen_require(` class passwd { passwd chfn chsh rootok crontab }; ') ######################################## # # Declarations # type accountsd_t; type accountsd_exec_t; init_daemon_domain(accountsd_t, accountsd_exec_t) role system_r types accountsd_t; type accountsd_var_lib_t; files_type(accountsd_var_lib_t) type accountsd_unit_file_t; systemd_unit_file(accountsd_unit_file_t) ######################################## # # Local policy # allow accountsd_t self:capability { chown dac_override setuid setgid sys_ptrace }; allow accountsd_t self:process signal; allow accountsd_t self:fifo_file rw_fifo_file_perms; allow accountsd_t self:passwd { rootok passwd chfn chsh }; manage_dirs_pattern(accountsd_t, accountsd_var_lib_t, accountsd_var_lib_t) manage_files_pattern(accountsd_t, accountsd_var_lib_t, accountsd_var_lib_t) files_var_lib_filetrans(accountsd_t, accountsd_var_lib_t, dir) kernel_read_kernel_sysctls(accountsd_t) kernel_read_system_state(accountsd_t) corecmd_exec_bin(accountsd_t) dev_read_sysfs(accountsd_t) files_read_mnt_files(accountsd_t) fs_getattr_xattr_fs(accountsd_t) fs_list_inotifyfs(accountsd_t) fs_read_noxattr_fs_files(accountsd_t) auth_use_nsswitch(accountsd_t) auth_read_login_records(accountsd_t) auth_read_shadow(accountsd_t) init_dbus_chat(accountsd_t) logging_send_syslog_msg(accountsd_t) logging_set_loginuid(accountsd_t) userdom_read_user_tmp_files(accountsd_t) userdom_read_user_home_content_files(accountsd_t) usermanage_domtrans_useradd(accountsd_t) usermanage_domtrans_passwd(accountsd_t) optional_policy(` consolekit_dbus_chat(accountsd_t) consolekit_read_log(accountsd_t) ') optional_policy(` dbus_system_domain(accountsd_t, accountsd_exec_t) ') optional_policy(` policykit_dbus_chat(accountsd_t) ') optional_policy(` xserver_read_xdm_tmp_files(accountsd_t) xserver_read_state_xdm(accountsd_t) xserver_dbus_chat_xdm(accountsd_t) xserver_manage_xdm_etc_files(accountsd_t) ')