Bug 387973

Summary: Allow Kate to be launched when logged in as the root user (NOT sudo'd in a user session)
Product: [Applications] kate Reporter: Nate Graham <nate>
Component: generalAssignee: KWrite Developers <kwrite-bugs-null>
Severity: normal CC: elvis.angelaccio, nickbryda, reeves.87, simonandric5
Priority: NOR    
Version: 17.08.2   
Target Milestone: ---   
Platform: Other   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=387974
Latest Commit: Version Fixed In: 18.08.0

Description Nate Graham 2017-12-16 23:08:24 UTC
This came up in https://bugs.kde.org/show_bug.cgi?id=179678#c37

As a part of implementing PolKit support, Kate was prevented from running with root privileges via sudo, which is fine. Unfortunately, now Kate also doesn't launch when you're actually logged in as the root user. This is probably not necessary since if you're already the root user, privileges aren't really an issue anymore.

It's worth mentioning that this isn't a Wayland or PolKit restriction; GNOME's Gedit can be launched when logged in as the root user, even in a Wayland session.
Comment 1 michael 2018-02-14 15:24:12 UTC
Kate's current hard code check also fails to account for docker or SELinux restrictions that are still enforced even if you are root. For example you cann't use mount under default docker configuration. Just allowing it to be run while logged in as root be acceptable given the security concerns surrounding su usage.
Comment 2 Nate Graham 2018-05-31 18:15:53 UTC
Git commit bf6d5b7532968763bdc629aa90426c53500af13f by Nathaniel Graham.
Committed on 31/05/2018 at 18:15.
Pushed by ngraham into branch 'master'.

Re-allow running Kate and KWrite as the actual root user (but still not using sudo)

The original change (9adcebd3c2e476c8a32e9b455cc99f46b0e12a7e) to prevent sudo usage broke the use case of running KWrite or Kate while logged in as the actual `root` user with a GUI session. This is how the Kali distro is set up by default, so the original change amounted to making Kate and KWrite not launch at all on this KDE distro.

This patch re-enables running as the actual root user, but keeps blocking usage via `sudo` or `kdesu`. There are no negative security implications associated with re-allowing usage via the root user, since if you're running a GUI session, you were already exposed to the original security threat and Kate and KWrite do not increase the attack surface.

I have submitted a similar change for Dolphin that has been accepted (D12795), but @elvisangelaccio wants that to go in at the same time as this, to keep them in sync.
FIXED-IN: 18.08.0

Test Plan:
- Log in as normal user and run `sudo kate` or `sudo kwrite`: you get an error message.
- Log in as normal user and run `kdesu kate` or `kdesu kwrite`: you get an error message.
- Log in as the root user and run Kate or KWrite normally: it works.

Reviewers: #kate, dhaumann, cullmann, #ktexteditor

Reviewed By: #kate, dhaumann, #ktexteditor

Subscribers: kwrite-devel, elvisangelaccio

Tags: #kate

Differential Revision: https://phabricator.kde.org/D13138

M  +8    -6    kate/main.cpp
M  +8    -6    kwrite/main.cpp