Status changed to 'Confirmed' because the bug affects multiple users.
** Changed in: cups (Ubuntu)
Status: New => Confirmed
--
You received this bug notification because you are a member of Desktop
Packages, which is subscribed to cups in Ubuntu.
https://bugs.launchpad.net/bugs/1932537
Title:
CUPS + SSSD: cannot access local CUPS web interface with domain user
(apparmor problem)
Status in apparmor package in Ubuntu:
Confirmed
Status in cups package in Ubuntu:
Confirmed
Bug description:
[Summary]
My domain user can not access the local CUPS web interface due to apparmor
denials.
Adding the following two lines to /etc/apparmor.d/local/usr.sbin.cupsd
fixes it:
/var/lib/sss/pipes/private/pam rw,
unix (bind) type=dgram addr=@userdb-*,
[Details]
I have a (relatively) clean install of Ubuntu 20.04 (no upgrade), which is
joined to a Windows AD-domain via sssd, but currently used off site with cached
credentials.
When I try to log in with my domain user (who is in the lpadmingroup) at the
local cups web interface (localhost:631 ...> Add Printer) with the default
apparmor config for cupsd I get a:
AVC apparmor="DENIED" operation="connect" profile="/usr/sbin/cupsd"
name="/var/lib/sss/pipes/private/pam" pid=189759 comm="cupsd"
requested_mask="wr" denied_mask="wr" fsuid=0 ouid=0
This already existed in Bionic and my workaround was to add
'/var/lib/sss/pipes/private/pam rw,' to /etc/apparmor.d/local/usr.sbin.cupsd
and reload the profile:
# echo '/var/lib/sss/pipes/private/pam rw,' >
/etc/apparmor.d/local/usr.sbin.cupsd
# apparmor_parser -r -W -T /etc/apparmor.d/usr.sbin.cupsd
This worked in Bionic, but leads to a crash of cupsd in Focal when I try to
log in as domain user with a the following log message nearby:
AVC apparmor="DENIED" operation="bind" profile="/usr/sbin/cupsd" pid=189759
comm="cupsd" family="unix" sock_type="dgram" protocol=0 requested_mask="bind"
denied_mask="bind" addr="@userdb-7625b1ef65396344ef05f0a8aeda870e"
This looks very similar to
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1890858 , so I applied
the same fix and added 'unix (bind) type=dgram addr=@userdb-*,' to
/etc/apparmor.d/local/usr.sbin.cupsd:
# echo 'unix (bind) type=dgram addr=@userdb-*,' >>
/etc/apparmor.d/local/usr.sbin.cupsd
# apparmor_parser -r -W -T /etc/apparmor.d/usr.sbin.cupsd
Which fixed my problem.
I am not an expert on apparmor, so I have no idea, if the first line
gives too broad permissions.
I think that there are two unrelated issues:
1) Cupsd cannot access sssd at all. This already existed in Bionic (but I
failed to report the issue -- sorry for that).
2) Once the login succeeds, cups tries to resolve a uid/gid as it isn't known
locally. To resolve it it needs to bind a unix socket. See:
https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1890858/comments/37
I will attach a full log with added comments on what I did.
[Infos]
1) lsb_release -rd
Description: Ubuntu 20.04.2 LTS
Release: 20.04
2) apt-cache policy cups-daemon
cups-daemon:
Installiert: 2.3.1-9ubuntu1.1
Installationskandidat: 2.3.1-9ubuntu1.1
Versionstabelle:
*** 2.3.1-9ubuntu1.1 500
500 http://ftp.uni-hannover.de/ubuntu focal-updates/main amd64
Packages
500 http://security.ubuntu.com/ubuntu focal-security/main amd64
Packages
100 /var/lib/dpkg/status
2.3.1-9ubuntu1 500
500 http://ftp.uni-hannover.de/ubuntu focal/main amd64 Packages
3) What you expected to happen:
Be able to log in at the local cups web interface with my domain user, which
is in the lpadmin group
4) What happened instead:
Access was denied (asked again for my credentials)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/1932537/+subscriptions
--
Mailing list: https://launchpad.net/~desktop-packages
Post to : [email protected]
Unsubscribe : https://launchpad.net/~desktop-packages
More help : https://help.launchpad.net/ListHelp