Bug 301441 - gdmsetup does not use consolehelper
gdmsetup does not use consolehelper
Product: Fedora
Classification: Fedora
Component: gdm (Show other bugs)
All Linux
low Severity low
: ---
: ---
Assigned To: Ray Strode [halfline]
Fedora Extras Quality Assurance
: Reopened
Depends On:
  Show dependency treegraph
Reported: 2007-09-21 18:43 EDT by Jon Stanley
Modified: 2007-11-30 17:12 EST (History)
0 users

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-09-21 19:34:17 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Jon Stanley 2007-09-21 18:43:48 EDT
Description of problem:  gdmsetup does not use consolehelper for root
authentication when run by a non-root user

Version-Release number of selected component (if applicable): 2.18.4-2.fc7

How reproducible: Always

Steps to Reproduce:

Choose system->admin->login window in Gnome.
Actual results:

Error message states that you must be root to configure GDM

Expected results:

Prompt for root password, and then run gdmsetup as root.

Additional info:
Comment 1 Jon Stanley 2007-09-21 19:05:42 EDT
Some additional info:

rpm -qV gdm checks out fine.  There is a symlink from /usr/bin/gdmsetup to
consolehelper, and running /usr/bin/gdmsetup from the command line produces the
expected results.  Selecting it from the menu, however, does not.

Attaching a strace -o gdm.strace -ff -p <pid of gnome-panel> produces the
following interesting tidbit:

gdm.strace.17418:execve("/usr/kerberos/bin/gdmsetup", ["gdmsetup"...], [/* 34
vars */]) = -1 ENOENT (No such file or directory)
gdm.strace.17418:execve("/usr/lib64/ccache/gdmsetup", ["gdmsetup"...], [/* 34
vars */]) = -1 ENOENT (No such file or directory)
gdm.strace.17418:execve("/usr/local/sbin/gdmsetup", ["gdmsetup"...], [/* 34 vars
*/]) = -1 ENOENT (No such file or directory)
gdm.strace.17418:execve("/usr/sbin/gdmsetup", ["gdmsetup"...], [/* 34 vars */]) = 0

Why is gnome-panel attempting to execute the real gdmsetup is the real question...
Comment 2 Jon Stanley 2007-09-21 19:23:01 EDT
OK, that last tidbit led me to the answer.  /usr/sbin was in my path prior to
/usr/bin.  Should have been obvious all along.  I'm leaving this one open
though, because I don't think that the real gdmsetup should be in /usr/sbin. 
Rather, it should be in /usr/share/gdm so that this exact thing doesn't happen -
take system-config-* for example.
Comment 3 Ray Strode [halfline] 2007-09-21 19:34:17 EDT
gdmsetup is compiled code, so can't go to /usr/share/gdm.  We could potentially
put it in libexec, but then consolehelper wouldn't know where to find it.

Basically consolehelper is a bad idea, and we should port gdmsetup over to use
policykit instead.

Note You need to log in before you can comment on or make changes to this bug.