Re: [PATCH] patch for sddm with PAM

Chris PeBenito <[email protected]>
Newsgroups org.kernel.vger.selinux-refpolicy
Message-ID <[email protected]>
On 10/9/21 05:52, Russell Coker wrote:
> This patch makes the recent versions of sddm work for X logins.  Sddm uses
> PAM to start the actual XDM under a different UID so we have to work with
> this.
> 
> Signed-off-by: Russell Coker <[email protected]>
> 
> Index: refpolicy-2.20210908/policy/modules/services/xserver.te
> ===================================================================
> --- refpolicy-2.20210908.orig/policy/modules/services/xserver.te
> +++ refpolicy-2.20210908/policy/modules/services/xserver.te
> @@ -18,6 +18,7 @@ gen_require(`
>   	class x_resource all_x_resource_perms;
>   	class x_event all_x_event_perms;
>   	class x_synthetic_event all_x_synthetic_event_perms;
> +	role xdm_r;
>   ')
>   
>   ########################################
> @@ -152,6 +153,10 @@ init_daemon_domain(xdm_t, xdm_exec_t)
>   xserver_object_types_template(xdm)
>   xserver_common_x_domain_template(xdm, xdm_t)
>   
> +# for sddm to use pam for greeter
> +role xdm_r types xdm_t;
> +allow system_r xdm_r;
> +
>   type xdm_lock_t;
>   files_lock_file(xdm_lock_t)
>   
> @@ -848,6 +853,9 @@ manage_files_pattern(xserver_t, xdm_tmp_
>   manage_lnk_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t)
>   manage_sock_files_pattern(xserver_t, xdm_tmp_t, xdm_tmp_t)
>   
> +# for sddm to use pam for greeter, sddm greeter needs execmod
> +allow xdm_t xdm_tmpfs_t:file execmod;
> +
>   # Run Xorg.wrap
>   can_exec(xserver_t, xserver_exec_t)
>   
> Index: refpolicy-2.20210908/config/appconfig-mcs/seusers
> ===================================================================
> --- refpolicy-2.20210908.orig/config/appconfig-mcs/seusers
> +++ refpolicy-2.20210908/config/appconfig-mcs/seusers
> @@ -1,2 +1,3 @@
>   root:unconfined_u:s0-mcs_systemhigh
>   __default__:unconfined_u:s0-mcs_systemhigh
> +sddm:xdm:s0
> Index: refpolicy-2.20210908/policy/users
> ===================================================================
> --- refpolicy-2.20210908.orig/policy/users
> +++ refpolicy-2.20210908/policy/users
> @@ -27,6 +27,7 @@ gen_user(system_u,, system_r, s0, s0 - m
>   gen_user(user_u, user, user_r, s0, s0)
>   gen_user(staff_u, staff, staff_r sysadm_r ifdef(`enable_mls',`secadm_r auditadm_r'), s0, s0 - mls_systemhigh, mcs_allcats)
>   gen_user(sysadm_u, sysadm, sysadm_r, s0, s0 - mls_systemhigh, mcs_allcats)
> +gen_user(xdm, user, xdm_r, s0, s0)
>   
>   # Until order dependence is fixed for users:
>   ifdef(`direct_sysadm_daemon',`
> Index: refpolicy-2.20210908/config/appconfig-mcs/xdm_default_contexts
> ===================================================================
> --- /dev/null
> +++ refpolicy-2.20210908/config/appconfig-mcs/xdm_default_contexts
> @@ -0,0 +1 @@
> +system_r:xdm_t:s0		xdm_r:xdm_t:s0
> Index: refpolicy-2.20210908/policy/modules/kernel/kernel.te
> ===================================================================
> --- refpolicy-2.20210908.orig/policy/modules/kernel/kernel.te
> +++ refpolicy-2.20210908/policy/modules/kernel/kernel.te
> @@ -32,6 +32,7 @@ role system_r;
>   role sysadm_r;
>   role staff_r;
>   role user_r;
> +role xdm_r;
>   
>   # here until order dependence is fixed:
>   role unconfined_r;

I'm confused by this.  There is a login that happens prior to SDDM starting? 
There also is no role change allowed from xdm_r to the user role.


-- 
Chris PeBenito
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.