Bug 301441 - gdmsetup does not use consolehelper
Summary: gdmsetup does not use consolehelper
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: gdm
Version: 7
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-09-21 22:43 UTC by Jon Stanley
Modified: 2007-11-30 22:12 UTC (History)
0 users

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2007-09-21 23:34:17 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Jon Stanley 2007-09-21 22:43:48 UTC
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 23:05:42 UTC
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 23:23:01 UTC
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 23:34:17 UTC
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.