Re: xpra printer forwarding currently requires a change to the core policy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/08/16 22:10, Miroslav Grepl wrote:
> On 08/11/2016 10:18 AM, antoine@xxxxxxxxxxxxx wrote:
>> xpra printer forwarding works by adding a PDF or PS virtual printer via a cups backend.
>> This cups backend then connects to the local xpra server via a unix domain socket and the server then forwards the PDF or PS file to the xpra client for printing.
>>
>> The problem is connecting to the xpra server socket, which is currently forbidden by the core policy.
>>
>> Here's what we have to add to make it work at the moment with the server socket in "~/.xpra/":
>>     userdom_manage_user_home_content_files(cupsd_t)
>>     userdom_manage_user_home_content_symlinks(cupsd_t)
>>     userdom_manage_user_home_content_pipes(cupsd_t)
>>     userdom_manage_user_home_content_sockets(cupsd_t)
>>
>> Alternatively, if that helps, we can also place the server socket in /run/user/$UID/xpra, but then we still get:
>>     type=AVC msg=audit(1470902846.451:911): avc:  denied  { write } for  pid=9644 comm="xpra" name="desktop-100" dev="tmpfs" ino=74293 scontext=system_u:system_r:cupsd_t:s0-s0:c0.c1023 tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=sock_file permissive=1
>>     type=AVC msg=audit(1470902846.451:912): avc:  denied  { connectto } for  pid=9644 comm="xpra" path="/run/user/1000/xpra/desktop-100" scontext=system_u:system_r:cupsd_t:s0-s0:c0.c1023 tcontext=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 tclass=unix_stream_socket permissive=1
>>
>> What is the preferred way forward to allow users to have both selinux in enforcing mode and printing to work with xpra by default?
>> --
>> selinux mailing list
>> selinux@xxxxxxxxxxxxxxxxxxxxxxx
>> https://lists.fedoraproject.org/admin/lists/selinux@xxxxxxxxxxxxxxxxxxxxxxx
>>
> 
> We could try to label xpra by a label to get it running in a different
> CUPS domain.
> 
> What is a path to xpra?
The main script is:
$ ls -aZl /usr/bin/xpra
-rwxr-xr-x. 1 root root system_u:object_r:bin_t:s0 186 Aug  9 23:44
/usr/bin/xpra
The cups backend is:
$ ls -aZl /usr/lib/cups/backend/xpraforwarder
-rwx------. 1 root root system_u:object_r:bin_t:s0 5146 Aug 11 14:57
/usr/lib/cups/backend/xpraforwarder

> What does
> 
> chcon -t cups_pdf_exec_t PATHTO/xpra
Xpra does a lot more than just printer forwarding, it acts as a
compositing window manager, talks to X11, etc.. Printer forwarding is
only a secondary feature, so unless I misunderstand what this change is
meant to do, I don't think we want to go down that route?

Eventually I would like to have a policy for the whole of xpra:
http://xpra.org/trac/ticket/815
But for now, getting printing to work without having to tell users to
"disable SELinux" would be a good start.

So maybe do something similar to cups_pdf_exec_t for xpraforwarder, with
the extra privileges needed for accessing the socket?

Thanks
Antoine
--
selinux mailing list
selinux@xxxxxxxxxxxxxxxxxxxxxxx
https://lists.fedoraproject.org/admin/lists/selinux@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora Users]     [Fedora Desktop]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Campsites]     [KDE Users]     [Gnome Users]

  Powered by Linux