kde 3.5.5 kdeinit setuid is always enabled?

Benjamin Reed rangerrick at gmail.com
Wed Oct 25 22:33:00 BST 2006


I'm not sure why this wouldn't be happening everywhere, but the new
setuid kdeinit stuff causes my ~/.ICEauthority file to be created
owned by root, which subsequently causes authentication errors and kde
fails to start:

---(snip!)---
xset:  bad font path element (#87), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
xset:  bad font path element (#87), possible causes are:
    Directory does not exist or has wrong permissions
    Directory missing fonts.dir
    Incorrect font server address or syntax
startkde: Starting up...
kdeinit: Launched DCOPServer, pid = 12225 result = 0
DCOPClient::attachInternal. Attach failed Authentication Rejected,
reason : None of the authentication protocols specified are supported
and host-based authentication failed
ICE Connection rejected!

DCOPClient::attachInternal. Attach failed Authentication Rejected,
reason : None of the authentication protocols specified are supported
and host-based authentication failed
DCOPServer self-test failed.
iceauth:  /Users/ranger/.ICEauthority not writable, changes will be ignored
iceauth:  /Users/ranger/.ICEauthority not writable, changes ignored
kdeinit: DCOPServer could not be started, aborting.
ICE Connection rejected!

DCOPServer : slotShutdown() -> waiting for clients to disconnect.
DCOPServer : slotExit() -> exit.
Warning: connect() failed: : Permission denied
The following installation problem was detected
while trying to start KDE:

    No write access to '/Users/ranger/.ICEauthority'.

KDE is unable to start.
startkde: Could not start ksmserver. Check your installation.
ERROR: Couldn't attach to DCOP server!
startkde: Shutting down...
Warning: connect() failed: : Permission denied
Error: Can't contact kdeinit!
startkde: Running shutdown scripts...
startkde: Done.
---(snip!)---

now, according to configure.log it says it's not going to make it setuid:

---(snip!)---
checking whether to make kdeinit setuid root in order to protect it
from bad Linux OOM-killer... no
---(snip!)---

...and the Makefile.am *thinks* it's only supposed to do the setuid if
that says "yes":

---(snip!)---
if KDEINIT_SETUID
# start_kdeinit needs to be installed setuid root on Linux
install-exec-hook:
        @(chown 0 $(DESTDIR)$(bindir)/start_kdeinit && chmod 4755
$(DESTDIR)$(bindir)/start_kdeinit) || echo "Please make start_kdeinit
setuid root" >&2
        @echo ""
        @echo "start_kdeinit is by default installed on Linux with a
set SETUID root bit!"
        @echo "This is needed to prevent kdeinit from being killed by
a bad heuristic in the OOM-killer when running out of memory."
        @echo ""
endif
---(snip!)---

...but going by the install output, it's getting enabled anyways:

---(snip!)---
cd ./kdesu/ && /sw/share/unsermake/unsermake install-data-hook
99%
kgrantpty is by default installed with a set SETUID root bit!
This is needed for konsole, etc. to ensure that they can't be eavesdropped.

cd ./kdecore/ && /sw/share/unsermake/unsermake install-exec-hook
99%
start_kdeinit is by default installed on Linux with a set SETUID root bit!
This is needed to prevent kdeinit from being killed by a bad heuristic
in the OOM-killer when running out of memory.

cd ./kinit/ && /sw/share/unsermake/unsermake install-exec-hook
---(snip!)---

I can fix it manually for OSX now, but I wouldn't be surprised if this
bites someone else as well...




More information about the kde-core-devel mailing list