FS#23251 - The dbus user can not open the files it needs when running the dbus-daemon --system

Attached to Project: Arch Linux
Opened by Danie (life) - Saturday, 12 March 2011, 11:35 GMT
Last edited by Andrea Scarpino (BaSh) - Monday, 14 March 2011, 07:54 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture i686
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

For some reason, the dbus user can not open the files it needs when running the dbus-daemon --system command:
I traced the daemon with this:

[root@emily ~]# strace -e trace=file -p 14934 # The dbus-daemon --system PID

When I do ck-list-sessions as root, I get:

access("/var/run/console/root", F_OK) = -1 EACCES (Permission denied)
open("/proc/15544/cmdline", O_RDONLY) = -1 EACCES (Permission denied)
open("/usr/local/share/dbus-1/system-services", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 EACCES (Permission denied)
open("/usr/share/dbus-1/system-services", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY|O_CLOEXEC) = -1 EACCES (Permission denied)

With the /usr/share/dbus-1/system-services/org.freedesktop.ConsoleKit.service not available to the dbus user, it won't be possible to do ConsoleKit actions, I assume.

When I do ck-list-sessions as a user, I get:

open("/etc/passwd", O_RDONLY|O_CLOEXEC) = -1 EACCES (Permission denied)

Why would that be? The whole world can at the very least open /etc/passwd. Why would the dbus user not be able to?

Some more data points:
[life@emily ~]# grep dbus /etc/group
dbus:x:81:gdm
[life@emily ~]# grep dbus /etc/passwd
dbus:x:81:81:System message bus:/:/bin/false

The dbus user exists and seems to exist correctly.

More investigation and discussion here: https://bbs.archlinux.org/viewtopic.php?id=114431
This task depends upon

Closed by  Andrea Scarpino (BaSh)
Monday, 14 March 2011, 07:54 GMT
Reason for closing:  Not a bug
Additional comments about closing:  user solved
Comment by Jan de Groot (JGC) - Saturday, 12 March 2011, 17:47 GMT
Looking at the permission errors you get on /etc/password, it looks like filesystem permissions on your system are fubar.
Comment by Danie (life) - Saturday, 12 March 2011, 18:37 GMT
Hi Jan,

This is a clean install of i686 using the net image done on the 6th of March.

Before that, I tried the x86_64 install. With similar results.

Someone else has the same sort of problem: https://bbs.archlinux.org/viewtopic.php?pid=902619

Commonalities are:
- clean install
- something not working with policykit/consolekit

I traced it to dbus being unhappy.

What else can I do to help you debug this?
Comment by Danie (life) - Saturday, 12 March 2011, 22:19 GMT
Definitely related to /etc/passwd not being readable. Recompiling and starting DBUS with DBUS_VERBOSE says:

25934: [dbus-auth.c(1716):handle_auth] server: Trying mechanism EXTERNAL
25934: [dbus-auth.c(1636):process_data] server: data: '1000'
25934: [dbus-sysdeps-unix.c(2013):fill_user_info] User ??? unknown
25934: [dbus-auth.c(1084):handle_server_data_external_mech] server: could not get credentials from uid string
25934: [dbus-auth.c(430):shutdown_mech] server: Shutting down mechanism EXTERNAL

Loading...