Polkit issue sanity check

I just wanted to sanity check something I did and make sure I didn’t leave anything in an unsafe state:

My mothers manjaro install (still going strong after a long time!) had some kind of issue while updating it seems, and the .vmlinuz boot files were missing (so, couldn’t boot).

I flashed a fresh manjaro iso to usb, manjaro-chroot’d in, and reinstalled the kernel. I then managed to boot up the system. However, the kernel that was installed was an older version (5-something), whereas she was running the latest 6- LTS kernel

Upon making sure everything was okay, I ended up getting issues with the password input prompt thing, which, from my understanding, is polkit

Eventually, to fix the issue, I masked polkit-agent-helper.socket, reinstalled linux 6-… and then unmasked it again. It now seems to work fine

A few questions:
(1) Is there any way I can double check I have correctly unmasked the service and it’s back to normal?
(2) Other users mentioned that masking polkit-agent-helper.socket is not a permanent solution, and is “unsafe”. Is this true, and why?
(3) Is unmasking it enough for things to be safe again?

Welcome to the Manjaro community @Cauchy

To check which systemd units are masked:

systemctl list-unit-files --state=masked

To check the status of polkit-agent-helper.socket:

systemctl status polkit-agent-helper.socket

Note that, after unmasking polkit-agent-helper.socket, you should reboot the system. I just did a test masking & unmasking of it, and couldn’t do a transaction in Pamac’s GUI until I rebooted.

According to DBus and Polkit Introduction | Blog:

So masking polkit-agent-helper.socket interferes with that process. I assume it could allow unauthorised users to run privileged operations.

Yes. Just make sure you reboot after unmasking it. And stick with a recent kernel - linux66 and later won’t experience the polkit issue.

1 Like

The SUID bit is no longer required for kernels above 6.12, and it is actually better to not have it SUID. However, with kernels older than 6.12, one does need to have /usr/lib/polkit-1/polkit-agent-helper-1 SUID, or else it won’t work.

2 Likes